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

رمز أقل

تؤثر كتابة عدد أقل من التعليمات البرمجية في جميع مراحل التطوير: بصفتك مؤلفًا، يصبح بإمكانك التركيز على المشكلة المطروحة، وتقليل فرص الاختبار وتصحيح الأخطاء، كما يقل احتمال حدوث أخطاء، بينما يتاح لك كمراجع أو صيانة أقل من التعليمات البرمجية التي تحتاج إلى قراءتها وفهمها ومراجعتها وصيانتها.

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

  • "بالنسبة إلى فئة الزر نفسها، كان [الرمز] أصغر بمقدار 10 مرات." (Twitter)
  • "هناك أيضًا انخفاض كبير في أي شاشة تم إنشاؤها باستخدام RecyclerView، وهي معظم شاشاتنا". (مونزو)
  • "لقد سُررنا جدًا بمعرفة عدد الأسطر المطلوبة لإنشاء قوائم أو صور متحركة في تطبيقنا. أصبحنا نكتب عددًا أقل من الأسطر من الرموز لكل ميزة، ما يتيح لنا التركيز بشكل أكبر على تقديم القيمة لعملائنا"." (Cuvva)

إنّ الرمز الذي تكتبه مكتوب بلغة Kotlin فقط بدلاً من تقسيمه بين لغة Kotlin وXML: "من الأسهل كثيرًا تتبُّع الرموز البرمجية عندما تكون كلها مكتوبة باللغة نفسها وغالبًا على ملف واحد، بدلاً من الانتقال ذهابًا وإيابًا بين لغة Kotlin وXML" (من Monzo).

التعليمات البرمجية المكتوبة باستخدام Compose بسيطة وسهلة في الحفاظ على كل ما تقوم بإنشائه. "إنّ نظام تخطيط Compose أبسط من الناحية النظرية وبالتالي يسهل التفكير فيه. كما تسهل قراءة الرموز للمكوّنات المعقدة"." (مربّع)

سلسة

تستخدم ميزة Compose واجهة برمجة تطبيقات وصفية، ما يعني أنّ كل ما عليك فعله هو وصف واجهة المستخدم الخاصة بك، وستتولى Compose الباقي. وتتميز واجهات برمجة التطبيقات بأنها بديهية وسهلة الاكتشاف والاستخدام: "تتميز طبقة تنظيم المواضيع لدينا بأنها أكثر سهولة ووضوحًا إلى حد كبير. وتمكنّا من تحقيق ما تمت توسعته من خلال ملف Kotlin واحد عبر ملفات XML متعددة كانت مسؤولة عن تعريفات السمات والمهام من خلال عناصر مركّبة متعددة الطبقات." (Twitter)

باستخدام الإنشاء، يمكنك إنشاء مكونات صغيرة عديمة الحالة وغير مرتبطة بنشاط أو جزء معين. ويسهّل ذلك إعادة استخدامها واختبارها: "نحدّد لأنفسنا هدفًا لتقديم مجموعة جديدة من مكوّنات واجهة المستخدم التي لا تتضمّن حالة، وتكون سهلة الاستخدام وصيانتها وسهلة التنفيذ/التمديد/التخصيص. لقد قدّمت لنا ميزة Compose إجابة رائعة في هذا الموضوع." (Twitter)

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

تسريع التطوير

تتوافق ميزة "إنشاء" مع كل الرموز البرمجية الحالية: يمكنك استدعاء رمز الإنشاء من "طرق العرض" و"المشاهدات" من "إنشاء". تعمل معظم المكتبات الشائعة مثل "التنقل" و"ViewModel" و"كورروتينات Kotlin" مع Compose، بحيث يمكنك البدء في الاستخدام في الوقت والمكان الذي تريده. "بدأنا بدمج ميزة Compose، مع إمكانية التشغيل التفاعلي، ووجدنا أنّها تعمل على النحو المعتاد. وتبيّن لنا أنّه لا حاجة إلى التفكير في مواضيع مثل الوضع الفاتح والوضع الداكن، وقد كانت التجربة بأكملها سلسة للغاية." (كوففا)

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

القوة

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

باستخدام ميزة Compose، يمكنك استخدام ميزة "الإنشاء" لإضفاء الحركة والحيوية على تطبيقاتك بسرعة وسهولة، حيث قال: "تسهل إضافة الرسوم المتحركة في Compose لأنّه ليس هناك سبب وجيه لتحريك عناصر مثل تغيير اللون/الحجم/الارتفاع" (Monzo)، ويمكنك إنشاء صور متحركة بدون الحاجة إلى أي شيء خاص، حيث لا يختلف ذلك عن عرض شاشة ثابتة" (مربّع).

سواء كنت تنشئ المحتوى باستخدام Material Design أو باستخدام نظام التصميم الخاص بك، تمنحك Compose مرونة تنفيذ التصميم الذي تريده. "لقد استفدنا حقًا من فصل التصميم المتعدد الأبعاد عن الأساس لأنّنا ننشئ نظام تصميم خاص بنا يتطلّب غالبًا متطلبات تصميم مختلفة عن Material." (مربّع)

يمكنك الاطّلاع على دراسات الحالة التفصيلية لمعرفة المزيد من المعلومات عن كيفية استخدام Twitter وSquare وMonzo وCuvva لميزة Compose.