مقارنة بين Flutter و Jetpack Compose

Sayed Ali Al-Kamel
3 min readOct 26, 2020

مقدمة

في السنوات السابقة الأخيرة، أصبح فلتر بالنسبة لمجتمع المطورين عبارة عن إطار عمل قوي ومحبوب لبناء تطبيقات الأجهزة المحمولة. أعلن فريق أندرويد مؤخرًا عن إطلاق الإصدار المبكر من مكتبة جتباك والتي تسمى بـكمبوس “Compose”.

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

بناء تطبيق بسيط

يتضمن التطبيق الذي أقوم بصنعه في هذه المقالة على واجهة بسيطة تحتوي على عمود من عناصر واجهة المستخدم مع زر عداد صغير لإظهار نشاط بسيط ذي حالة.

يتم عرض الشجرة الخاصة بمكونات واجهة المستخدم (عناصر واجهة المستخدم) أدناه مع تداخل بعض المكونات والتفاعل الذي يحدث بين كل من المكون الرئيسي والفرعي.

Flutter:

لنبدأ مع فلتر. سيبدو هيكل وظيفتنا الرئيسية بهذه الطريقة (باستطاعتك العثور على الكود الكامل في حسابي على GitHub)

Jetpack Compose

من ناحية أخرى، هكذا انتهى بي الأمر في Jetpack Compose:

كلا التطبيقين جنبًا إلى جنب

كما ترى أنه يوجد أوجه تشابه في أسماء المكونات وطريقة كتابة الكود، لذا فقد وضعت النتائج في الجدول الآتي:

توجد حركة نحو واجهة المستخدم التعريفية في مجتمع تطبيقات الهاتف المحمول والتي اعتمدها فلتر منذ البداية.

ما هي واجهة المستخدم التعريفية؟

لفهم معني واجهة المستخدم التعريفية، لنشرح في البداية الطريقة التي ينشئ بها مطورو الأندرويد واجهات المستخدم في الوقت الحالي. يُطلق على تطوير واجهة مستخدم أندرويد اسم “النمط الأمري” حيث تقوم بتعريف مكونات واجهة المستخدم الخاصة بك في ملف بصيغة

XML

واستخدام وظائف مثل

findViewById

التي تمكنك من استرداد مثيل على هذا الكائن، ومن خلال دوال

setters وgetters

ستستطيع إجراء تغييرات على واجهة المستخدم الخاصة بك. من ناحية أخري، تعد الأنماط التعريفية أوصافًا محدودة لواجهة المستخدم أو “المخططات” التي تُستخدم بعد ذلك لبناء مكونات واجهة المستخدم الخاصة بك.

توجد هناك حركة ملحوظة نحو واجهات المستخدم التعريفية بواسطة أندرويد وآي أو إس (سوفت يو اي) لذلك دعنا نقارن بين كل من النمطين. أولاً، دعنا نلقي نظرة على النمط الأمري المستخدم في الوقت الحالي في الأندرويد الأساسي.

النمط الأمري

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

النمط التصريحي

بشكل تعريفي، يصف هذا النمط الطريقة التي يجب ان تبدو عليها واجهة المستخدم في إطار العمل وطريقة الإنشاء والعرض التي وصفتها أنت.

مصادر

باستطاعتك العثور على أكواد المصدر الكاملة في مستودعات البرمجيات أدناه:

مصطلحات

--

--