Flutter، إطار عمل Google لتصميم التطبيقات عبر الأنظمة الأساسية لنظامي التشغيل Android وiOS، متوفر الآن في الإصدار Preview 2. ومن المقرر أن يظهر الإصدار الثابت الأول قريبًا.
ربما لا تعلم ذلك، ولكن من الممكن أن تكون التطبيقات التي تقوم بتنزيلها من Google Play مصممة بعدة طرق مختلفة.
أشهرها وأكثرها انتشارا هو تطبيق يسمىمحليباستخدام SDK المقدمة من جوجل. وتتمثل ميزة هذا الحل في تقديم أفضل أداء، مع استخدام إمكانات Android الكاملة. ومع ذلك، فإن لها عيبًا كبيرًا: تكلفتها. لنتخيل أن هناك خدمة متاحة أيضًا على نظام التشغيل iOS، وسيتعين علينا تطوير تطبيق ثانٍ مماثل. يجب على الشركة بعد ذلك تعيين وإدارة فريقين، للتبسيط، سيقومان بتطوير نفس الشيء مرة أخرى. بالإضافة إلى ذلك، سيكون من الضروري إجراء العديد من الاختبارات للتأكد من أن السلوك على النحو المرغوب فيه على كلا النظامين الأساسيين.
تطبيقات عبر الأنظمة الأساسية
إذا كان اختيار المواطن هو الأفضل بلا شك، فإن فكرة الاستخدامالأطرظهرت منصات متعددة بسرعة. ترى الشركات أنها طريقة رائعة لخفض تكاليف التطوير، مع محاولة الالتزام بكلتا المنصتين بأفضل ما يمكن. حتى الآن، خاضت حلول مختلفة هذه المعركة.
إن أبسط ما يتبادر إلى الذهن هو الانتقال إلى الويب، لأنه متوافق منطقيًا مع جميع الأنظمة الأساسية. هذا الاختيار الجذاب على الورق أقل جاذبية في الواقع، لأن الأداء ليس الأمثل. علاوة على ذلك، ليست كل واجهات برمجة التطبيقات متاحة بالضرورة ويجب على المطورين إدارة الإصدارات المختلفة من WebView بطريقة أو بأخرى (المكون الداخلي الذي يعرض صفحات الويب).
حلول أخرى مثلرد الفعل الأصلي، المدعوم من فيسبوك، يحاول إرضاء كلا العالمين، بدءًا من لغة الويب (JavaScript) واستخدام طرق العرض الأصلية لنظامي التشغيل Android وiOS. وعلى الرغم من أن التجربة متفوقة جدًا، إلا أن هذه التطبيقات لا تزال غير موجودةالسكان الأصليين. وهذا يعني أنه بدلاً من وجود تطبيق محسّن للهاتف، سيتم تفسير الكود أثناء تنفيذه بواسطة المستخدم.
رفرفة ؟
الرفرفة هي أنطاقتم تطويره بواسطة Google، وهو الأحدث على الإطلاق. ونتيجة لذلك، تمكن المهندسون من ملاحظة نقاط القوة والضعف في كل أداة موجودة لاستخراج الجوهر فقط.
قد يكون هذا الاسم مألوفًا لك أيضًا، لأنه أحد اللبنات الأساسية في البناءضارب الى الحمرة/أندروميدا. في الواقع هذانطاقيستخدم لكل شيء واجهة المستخدم. ولكن اليوم تشتهر Flutter بقدرتها على تصميم تطبيقات أصلية مشتركة بين الأنظمة الأساسية لنظامي التشغيل Android وiOS (يتم دعم أنظمة التشغيل Windows/Mac/Linux أيضًا).
يأتي فريق Flutter بشكل أساسي من الويب (تحديدًا Chrome) وقد حاول تكييف فلسفته مع عالم الأجهزة المحمولة. وللقيام بذلك، اعتمدوا على Skia، المحرك الذي يعد جزءًا لا يتجزأ من Chrome وكل إدارة النصوص في Android.
دارت كلغة برمجة
أنشأت جوجل العديد من لغات البرمجة، بما في ذلك لغة Dart. هذا قد لا يعني لك شيئا... ودعونا لا نخفيه، فقد بدأ في طي النسيان. لكن منذ ظهور Flutter، وجدت هذه اللغة ألوانًا وشهدت تجربةنسخة 2.0.
إذا اختارت Google Dart، فذلك لأنه يوفر وضعين للتشغيل. الأول يسمى AOT (لـقبل الوقت)، يسمح لك بإنشاء تطبيق أصلي لكل نظام أساسي. وبالتالي فإن ميزة Flutter، مقارنة بمنافسيها، قوية، حيث سيتم تحسين الكود مباشرة للبنية التي ستعمل عليها.
يُطلق على وضع التشغيل الثاني اسم JIT (Just-In-Time) ويوفر وظيفة Hot Reload أثناء التطوير. إذا أتيحت لك الفرصة لتصميم تطبيق Android أصلي، فمن المحتمل أنك خائف من الوقت الذي يستغرقه كل تطبيقيبني. فكرة Hot Reload في Flutter هي تصحيح هذه المشكلة من خلال أخذ بضعة أجزاء من الثانية فقط (أو حتى ثوانٍ في أسوأ الحالات) بين كل تعديل. يصبح تطوير تطبيقك أسرع بكثير.
بالإضافة إلى هذين الوضعين، تعد Dart أيضًا فعالة جدًا في إدارة التخصيص و"مجمع البيانات المهملة"، أي إزالة الكائنات الموجودة في الذاكرة والتي لم تعد مستخدمة.
تحيز
على عكس React Native، اختارت Google الحل الأكثر تعقيدًا، وهو إعادة إنشاء جميع المكونات الرسومية في Flutter. يتمتع هذا الاتجاه، الذي يتطلب قدرًا هائلاً من العمل، بميزة كبيرة: حيث يتأكد المطورون دائمًا من حصولهم على العرض المطلوب على الأنظمة الأساسية المختلفة. اخرج من إدارة الإصدار على Android، حيث استمر Holo وMaterial في التطور بمرور الوقت.
من ناحية أخرى، هذا يعني أنه باستخدام Flutter في تطبيقك، من الضروري دمج هذا الكود، مما يجعل ملف apk/ipa النهائي أثقل.
ومع ذلك، نظرًا لأن Flutter يعمل على جميع أجهزة Android بدءًا من الإصدار 4.1، فهذا ليس عيبًا كبيرًا. وفي الواقع، فإن مطوري Android الأصليين ملزمون بفعل الشيء نفسه إذا كانوا يرغبون في الاستفادة من المكونات المادية في مجموعة واسعة من إصدارات نظام التشغيل.
لاحظ أنه على نظام التشغيل iOS، أصبح iPhone وiPad متوافقين منذ الإصدار 8.0 على الطرازين 32 و64 بت.
الحاجيات في كل مكان
على عكس الأنظمة الأخرى، تقدم Flutterكمية لا تصدق من الحاجيات(عدة مئات). الفكرة التي طورها مصمموها هي أن القطعة يجب أن تقوم بمهمتها الخاصة فقط.
لنأخذ حالة النص: يمكن لأداة النص عرض النص على الشاشة فقط. ولن يتمكن من تعديل لون الخلفية أو إدارة موقعه على الشاشة. سيتم تخصيص هاتين المهمتين الأخريين لأدوات متخصصة أخرى. وهذا التحيز هو ما يجعل هذه القوةنطاق، استخلاص عروض مذهلة.
يسمح هذا المبدأ أيضًا بأن يكون Flutter مفهومًا من قبل الجميع. وبطبيعة الحال، سيستمر المطورون في تصميم التطبيقات، ولكن يمكن للمرء أن يعتقد بسهولة أن المصممين قد يكونون مهتمين بها.
فيما يلي مثال لعرض النص والرمز في المنتصف:
مركز(
الطفل: العمود(
أطفال: [
النص ("مرحبًا بالعالم!"))،
أيقونة (Icons.star، اللون: Colors.green)
]
)
);
يوجد تطبيق تجريبي يمكنك تنزيله من Google Play:
لسوء الحظ بالنسبة لنظام iOS، يتعين عليك تجميع التطبيق بنفسك، لأن Apple ترفض التطبيقات من هذا النوع.
إلى جانب معرض Flutter، يمكنك العثور على الموقع الرسميبعض التطبيقات المميزة. تستشهد Google على وجه الخصوص بحالة Alibaba التي نشرت تطبيقًا في الصين لـ 50 مليون مستخدم، وهو دليل على أن Flutter قوي تمامًا لبدء الإنتاج الآن.
يسرد الدليل غير الرسمي أيضًا التطبيقات التي طورها المجتمع:itallwidgets.com.
معاينة الإصدار 2
لقد انطلق مشروع Flutter بالفعل منذ بداية العام، وذلك بالتزامن مع نشر النسخة التجريبية الأولى. ثم تبعت العديد من الإصدارات بعضها البعض، حتى وصلت إلى معاينة الإصدار في نهاية شهر يونيو. تمثل هذه المرحلة اقتراب الإصدار المستقر والنهائي.
أعلن فريق Flutter يوم الأربعاء الماضي عن معاينة الإصدار الثاني. على البرنامج:كتالوج الحاجيات باستخدام واجهة iOS(Cupertino) يوفر أيضًا إمكانية تنفيذ كود Dart/Flutter دون أن يكون التطبيق في المقدمة أو حتى تقليل حجم التطبيق بحوالي 30%.
هذه هي معاينة الإصدار الأخيرة أثناء انتظار الإصدار الثابت، والذي من المفترض منطقيًا أن يتم إصداره خلال بضعة أسابيع.
هل تريد معرفة المزيد؟
هذه المقدمة أثارت اهتمامك وتريد اكتشاف Flutter؟ تم شرح كل شيءعلى الموقع الرسمي.
وفي نفس التوقيت، مساء الأربعاء (26 سبتمبر)،un codelabتم تنظيمه في باريس حتى تتمكن من القدوم واكتشاف Flutter وتطوير تطبيقك الأول.يمكن إجراء التسجيلات المجانية مباشرة على هذا الرابط.