Monzo هو مصرف وتطبيق يقدّمان خدمات مالية رقمية. مهمتهم هي جعل المال يعمل لصالح الجميع. بدأ نظام تصميم Monzo في الانحراف عن Material Design، لذا أرادوا طريقة سهلة لكتابة المكوّنات المخصّصة والحفاظ عليها التي تتطوّر باستمرار، لذا اختاروا Jetpack Compose.
الإجراءات التي اتخذتها الشركة
باستخدام Compose، يتم توفير مكونات Material Design كطبقة فوق واجهات برمجة التطبيقات الأساسية التي لا تعتمد على نظام تصميم معيّن. استخدمت شركة Monzo واجهات Foundation API لإنشاء مكتبة المكوّنات الخاصة بها، مع الاستعانة بمكوّنات Material كمرجع. وقد بدأوا بنقل شاشة واحدة في كل مرة، وأصبحوا الآن يستخدمون Compose في جميع الشاشات الجديدة. يستخدم جميع مهندسي Android الآن Compose في مرحلة الإنتاج: "لم تواجهنا أي مشاكل كبيرة، لذا شعرنا بثقة كافية لبدء استخدامها في بعض الميزات الجديدة المحدّدة، ثم في جميع الميزات الجديدة".
النتائج
أنشأ فريق Monzo مكوّنات تتيح له إنشاء شاشات جديدة بسهولة: "إنّ المكوّنات التي نوفّرها جاهزة للاستخدام تجعل عملية إنشاء شاشة أثناء تعلُّم Compose تجربة أكثر سلاسة. تُعدّ واجهات برمجة التطبيقات المستندة إلى الخانات نموذجًا رائعًا يسهّل علينا إنشاء مكونات أكبر من خلال الكثير من الوحدات الأساسية الصغيرة".
باستخدام Compose، تمكّن فريق Monzo من إنشاء تطبيق عالي الجودة، وإضافة ميزات رائعة لم يتمكّنوا من إضافتها في إصداراتهم السابقة: "أحد الأمثلة على ذلك هو الرسوم المتحركة، فمن السهل جدًا إضافتها في Compose، ولا يوجد سبب يمنع إضافة رسوم متحركة، مثل تغييرات الألوان أو الأحجام أو الارتفاعات. وغالبًا ما يكون من الصعب جدًا تنفيذ هذه الرسوم المتحركة التي "من الجيد توفّرها"، ولا تستحق الجهد والتعقيد في نظام View".
أصبح الرمز البرمجي أقصر وأسهل في القراءة والفهم والصيانة: "الرمز البرمجي التعريفي أسهل بكثير في الفهم من الرمز البرمجي الذي يتلاعب بتسلسل هرمي قابل للتغيير لواجهة المستخدم. من الأسهل أيضًا تتبُّع الرموز البرمجية عندما تكون مكتوبة باللغة نفسها وفي الملف نفسه غالبًا، بدلاً من التنقّل ذهابًا وإيابًا بين Kotlin وXML. ولا أريد حتى أن أتحدث عن سمات XML وأنماطها. أصبح من الأسهل بكثير فهم تصميم السمات في Compose. لا يتضمّن المظهر سوى الخصائص التي نحدّدها، وتكون القيم متسقة على جميع الأجهزة، وبما أنّه مكتوب بلغة Kotlin، يسهل البحث عنه وتتبُّعه في بيئة التطوير المتكاملة.
أتاحت Compose لفريق Monzo إمكانية اختبار التطبيق بسهولة والتأكّد من إمكانية استخدامه: "لقد ساعدتنا في كتابة اختبارات أقل عرضة للأخطاء، وتنفيذها بشكل موثوق، ومنحنا الكثير من الثقة في أنّ تطبيقنا يعمل بالفعل لدى المستخدمين. يضمن الاختبار من خلال نظام الدلالات أيضًا أنّ شاشاتنا يمكن الوصول إليها بشكل معقول تلقائيًا على الأقل".
البدء
مزيد من المعلومات حول ميزة "إنشاء"