Jetpack Compose، مجموعة أدوات واجهة المستخدم الجديدة من Google لنظام Android، أصبحت الآن في مرحلة ألفا

click fraud protection

Jetpack Compose، مجموعة أدوات واجهة المستخدم من Google لتطوير تطبيقات Android، أصبحت الآن في مرحلة ألفا. إنه قابل للتشغيل المتبادل بشكل كامل مع طرق العرض القياسية لنظام Android.

عندما يتعلق الأمر بتطوير تطبيق ما، هناك الكثير من الطرق للقيام بذلك. يمكنك اختيار النظام الأساسي (الأنظمة الأساسية) الذي تريد التطوير من أجله، ولغة (لغات) البرمجة التي تريد استخدامها، وغير ذلك الكثير.

مرة أخرى في خريف عام 2019، جوجل قدَّم إطار عمل جديد لبناء واجهات المستخدم في Android باستخدام Kotlin. حتى الآن، كان في حالة تطوير، مع تغييرات جذرية متكررة والعديد من الميزات المفقودة. لكن اليوم، دفعت Google Jetpack Compose إلى حالة إصدار ألفا، مما يعني أنها تقترب خطوة واحدة من استخدامها في مشاريع جودة الإنتاج.

ما هو Jetpack يؤلف؟

عند إنشاء تطبيق Android، عادةً ما يكون هناك مكونان رئيسيان يجب عليك التعامل معهما: الكود، للأشياء المستندة إلى المنطق؛ وXML للتخطيطات. افتراضيًا، يستخدم Android Java للتعليمات البرمجية ومجموعته الخاصة من علامات XML للتخطيطات.

بالنسبة للكثيرين، تعد Java وXML أمرًا جيدًا، خاصة بالنسبة للتطبيقات الأبسط. لكن كلا النظامين لهما حدودهما ومضايقاتهما. مع تقديم Kotlin باعتباره

رسمي (والموصى بها) لتطوير Android، يمكن القول إن الجانب الترميزي لإنشاء تطبيق Android أصبح أسهل كثيرًا. مع ميزات Kotlin المفيدة مثل وظائف الحماية والتوسيع المضمنة، تبدو التعليمات البرمجية أكثر وضوحًا وأسهل في القراءة.

لكن Kotlin لم يغير أي شيء في تخطيطات Android. لإنشاء تخطيط معقد، لا تزال بحاجة إلى إنشاء ملف XML وتصميمه هناك. وهذا له بعض العيوب الملحوظة، بما في ذلك الفصل المتأصل بين التعليمات البرمجية وXML. إذا كان لديك سلسلة ثابتة في التعليمات البرمجية الخاصة بك، على سبيل المثال، فلا يمكنك الرجوع إليها من XML فقط، لذلك إذا تغيرت هذه السلسلة في التعليمات البرمجية، عليك أن تتذكر تحديثها في XML أيضًا.

أدخل Jetpack يؤلف. هذا هو رد Google على عملية تصميم تخطيط XML المتزايدة الصعوبة في Android. بدلاً من تصميم واجهة مستخدم تطبيقك بتنسيق XML، يمكنك القيام بذلك مباشرة من خلال التعليمات البرمجية الخاصة بك. على الرغم من أنه من الممكن إنشاء تخطيطات قائمة على التعليمات البرمجية، إلا أنها عادة ما تكون أقل قابلية للصيانة من XML وتتضمن مكتبات سهلة الكسر. من ناحية أخرى، تم تصميم الإنشاء للعمل مباشرة داخل Kotlin: لا مزيد من XML.

يعد Jetpack Compose أيضًا خروجًا جذريًا عن التصميم الأساسي القياسي لتخطيطات XML. بدلاً من ذلك، فهو يشبه React أو Flutter، مع تخطيطات تعريفية تقوم بتحديث نفسها عندما تتغير البيانات، بدلاً من الاعتماد على المطور لتنفيذ هذا المنطق.

ما هو مدعوم

لذا أصبح Jetpack Compose في مرحلة ألفا الآن. ماذا يعني ذالك؟ حسنا، الكثير من الأشياء.

إمكانية التشغيل المتداخل مع طرق العرض

تمامًا كما أن Kotlin قابل للتشغيل المتبادل بالكامل مع Java، فإن Jetpack Compose قابل للتشغيل المتبادل بالكامل مع طرق العرض القياسية لنظام Android. وهذا يعني أشياء قليلة.

أولاً، سيكون من الأسهل كثيرًا الانتقال إلى Jetpack Compose إذا كنت ترغب في ذلك. بدلاً من الاضطرار إلى تحويل جميع طرق العرض والتخطيطات المخصصة إلى عناصر قابلة للتركيب، ستتمكن من إنشاء تخطيطاتك ومكوناتك الجديدة في الإنشاء. هل لديك مكتبة تستخدم طرق العرض "القديمة"، ولكن تطبيقك مصمم باستخدام ميزة "الإنشاء"؟ لا مشكلة. يمكنك إضافة العرض مباشرةً إلى الوظيفة القابلة للتركيب. لم تقم بالانتقال إلى Compose بعد، ولكنك تريد استخدام مكتبة تعتمد على Composables؟ مرة أخرى، لا مشكلة. ما عليك سوى وضع العنصر القابل للتركيب مباشرةً في تخطيطك.

أما بالنسبة إلى السمات، فهي ليست مجرد ميزة التوصيل والتشغيل مثل إمكانية التشغيل التفاعلي للتخطيط. لكن، قامت جوجل بإنشاء مكتبة لتكييف سمات XML القياسية الخاصة بك مع سمات متوافقة مع Compose، مما يساعد على إبقاء الأمور مركزية وتجنب التكرار.

الرسوم المتحركة

ليس هناك الكثير مما يمكن قوله هنا، باستثناء أن Jetpack Compose يدعم الرسوم المتحركة، تمامًا مثل إطار عمل العرض في Android. يمكنك النقل وتغيير الحجم والتدوير حسب محتوى قلبك.

قوائم كسول

القائمة البطيئة هي في الأساس إصدار Compose من RecyclerView. فهو يعرض العناصر حسب الحاجة فقط، مما يوفر في ذاكرة الوصول العشوائي ويزيد الأداء. وبطبيعة الحال، نظرًا لأن هذا الإنشاء، فإن القوائم أسهل في التنفيذ بشكل ملحوظ.

تخطيط القيد

أحد أقوى طرق العرض في Android هو ConstraintLayout. يتيح لك ذلك تحديد موضع المشاهدات الفرعية وحجمها ووزنها بالنسبة لبعضها البعض، مع تسهيل بعض الرسوم المتحركة أيضًا. إذا كنت قلقًا بشأن فقدان هذه الوظيفة في Compose، فلا داعي للقلق، لأنها موجودة أيضًا.

مكونات واجهة المستخدم المادية

مجموعة أخرى من طرق العرض القوية هي مكتبة مكونات المواد من Google. معظم ما هو موجود هنا عبارة عن طرق عرض وتخطيطات قياسية يمكنك العثور عليها في إطار عمل العرض الأصلي. ولكن تم تعديلها أو تغليفها لتوفير وظائف إضافية وتسهيل وضعها، وقد شقت طريقها إلى الإنشاء أيضًا.

اختبارات

جزء مهم من تطوير التطبيق هو اختباره. بالنسبة لتطبيق بسيط، يمكنك القيام بذلك يدويًا عن طريق تثبيته واستخدامه. ومع ذلك، يمكن أن تستفيد المشاريع الأكثر تعقيدًا بشكل كبير من أطر عمل الاختبار الآلي التي تقوم بمعظم العمل الشاق نيابةً عنك. يدعم Jetpack Compose الاختبار الآلي حتى تتمكن من جعل تطبيقك مستقرًا قدر الإمكان.

ميزات إمكانية الوصول

تعد إمكانية الوصول جزءًا مهمًا من مجتمعنا. وبدون ميزات إمكانية الوصول في تقنيتنا، سيتم ببساطة استبعاد الكثير من الأشخاص من الفوائد التي توفرها هواتفنا وأجهزة التلفزيون وأي شيء آخر. لا يزال Jetpack Compose في مرحلة ألفا، لذا لم يكتمل دعم إمكانية الوصول، لكن Google تضعه في الاعتبار أثناء التطوير، والدعم الأولي موجود بالفعل.

بيئة تطوير أندرويد

ومع ذلك، ليست كل ميزات Jetpack Compose موجودة في Jetpack Compose نفسه. يحتوي Android Studio وKotlin أيضًا على مكونات إضافية وتوسعات لتسهيل عملية الإنشاء.

البرنامج المساعد لمترجم Kotlin

كما هو الحال مع Kotlin JVM، يوجد مكون إضافي للمترجم في Android Studio لتحويل وظائف الإنشاء بشكل صحيح إلى تعليمات برمجية يمكن لنظام Android فهمها ومتابعتها بالفعل.

المعاينات التفاعلية

تمامًا كما هو الحال مع تخطيطات XML القياسية، يأتي Android Studio مزودًا بمعاينة تخطيط لـ Jetpack Compose. على الرغم من أنها ليست في الوقت الحالي ملائمة تمامًا مثل معاينات XML في بعض الجوانب، إلا أنه يتعين عليك إنشاء مشروعك من أجلها المعاينة للتحديث، وإنشاء وظيفة معاينة مخصصة - فهي تأتي مع ميزة واحدة ملحوظة: التفاعلية معاينات.

المعاينة التفاعلية هي مجرد معاينة عادية، ولكن تفاعلية. مجنون، وأنا أعلم. ومع ذلك، ما يعنيه هذا هو أنه يمكنك بالفعل كتابة النص في مربعات النص، والنقر على الأزرار، والتفاعل مع العناصر القابلة للتركيب، دون الحاجة إلى نشرها.

نشر واحد قابل للتركيب

إذا كنت تريد بالفعل نشر (أي تثبيت) تخطيطك لمعرفة كيفية عمله على جهاز حقيقي، فقد تساعدك هذه الميزة. باستخدام تخطيطات XML العادية، لكي ترى كيف يعمل التخطيط في العالم الحقيقي، عليك إنشاء التطبيق بالكامل وتثبيته. إذا لم يكن التخطيط الذي تريد اختباره موجودًا على الشاشة الرئيسية، فربما تقوم بالنقر كثيرًا للوصول إليه.

وهنا يأتي دور القدرة على نشر مكون واحد فقط. بدلاً من الاضطرار إلى إنشاء تطبيقك وتثبيته، ثم الانتقال إلى التخطيط الذي تختبره، يمكنك فقط نشر التخطيط. سيقوم Android Studio بإنشاء وفتح نشاط مجمّع يعرض فقط المحتوى القابل للتركيب الذي قمت بنشره. وهذا يمكن أن يجعل الاختبار والتصميم أسرع بكثير، ويمكن أن يساعد أيضًا في عزل المشكلات المتعلقة بتفاعل العناصر.

إكمال الكود

إذا لم يكن لدى IDE الخاص بك إكمال التعليمات البرمجية، فهل هو IDE أصلاً؟ رقم لا، ليس كذلك. لذا، بالطبع، يدعم Android Studio إكمال التعليمات البرمجية الكاملة لـ Jetpack Compose.


على الرغم من أن هذا ليس كل ما يقدمه Jetpack Compose إلى الطاولة، إلا أن الميزات والسلوك أعلاه يوضحان مدى القوة التي تريد Google أن يكون عليها إطار العمل هذا. وعلى الرغم من أنه لا يزال في مرحلة ألفا، إلا أن هذه خطوة متقدمة عن حالة "التطوير" السابقة. إذا كنت متوقفًا عن استخدام Jetpack Compose (مثلما فعلت)، فقد يكون الآن هو الوقت المناسب لتجربته مرة أخرى.