Flutter: إطار عمل يغير قواعد اللعبة في تطوير تطبيقات الجوال

إن سرعة الوصول للسوق وتكاليف التطوير المنخفضة هو ما يجعل العديد من الشركات تلجأ لتطوير التطبيقات باستخدام الأطر المتعددة المنصات Cross-platform Frameworks بدلا من تطوير التطبيقات الأصلية Native ولكن تفرض واجهات المستخدم UI المتمايزة لنظامي التشغيل Android وiOS تحديات أمام مطوري التطبيقات لإنشاء تطبيقات عالية الجودة تتمتع بتجربة متماثلة وتعمل بسلاسة على كلا النظامين. لحسن الحظ، قامت Google بتطوير إطار Flutter الفريد لتسهيل عمل مطوري التطبيقات.

في نهاية هذا المقال سيكون لديك فكرة أكثر وضوحا عن ماهية Flutter ومزاياه، وكيفية البدء في تعلمه.

ما هو Flutter؟

Flutter هو إطار عمل جديد من Google يهدف إلى مساعدة المطورين على إنشاء تطبيقات جوّال أصلية Native لنظامي Android و iOS باستخدام كود برمجي موحد.والمكونات الرئيسية للإطار هي:

  • محرك Flutter: يوفر محرك Flutter والذي تم كتابته بشكل أساسي بلغة ++C، دعم منخفض المستوى لعملية عرض واجهة المستخدم عن طريق مكتبة Google الرسومية Skia.

  • المكتبة الرئيسة: توفر المكتبة الرئيسة والمكتوبة بلغة Dart، الخدمات وواجهات البرمجة APIs اللازمة لإنشاء التطبيقات والتواصل مع المحرك.

  • Widgets: هي لبنات البناء الأساسية لواجهة المستخدم في Flutter. يتضمن تصميم واجهة المستخدم لأحد التطبيقات تركيب وتعديل العديد من عناصر واجهة المستخدم البسيطة مثل النصوص والأشكال والرسوم المتحركة لإنشاء عناصر أكثر تعقيدًا.


ما الفريد في Flutter ؟

لعلك الآن لم تقتنع كثيرا بمنصة أخري وتتسائل: وما الذي يجعل إطار Flutter مختلف ؟ فبعد كل شيء، هناك العديد من المنصات مثل Ionic, React Native, Xamarin والكثير غيرهم وهو سؤال عادل للغاية وقبل أن نجيب على هذا السؤال دعنا نلقي نظرة أولاً على الطرق المختلفة لتطوير تطبيقات الجوال:

  • عدة التطوير الأصلية Native SDK: تتميز التطبيقات التي يتم تطويرها باستخدام عدة التطوير الأصلية Native SDK بالتوجه لمنصة محددة ويقوم المطور بتطوير تطبيقات مختلفة للمنصات المختلفة، على سبيل المثال تطوير تطبيق ما بلغة Java / Kotlin لمنصة Android و تطوير تطبيق آخر بلغة Swift / Objective-C لنظام iOS، وهو الأمر الذي يستغرق وقتًا طويلاً ويتطلب تكلفة باهظة نظرًا لأنه يجب إعادة كتابة نفس الكود البرمجي عدة مرات.

معمارية التطبيقات الأصلية


  • الأطر المتعددة المنصات Cross-platform Frameworks: تهدف الأطر المتعددة المنصات إلى الذهاب خطوة أبعد عن طريق استخدام إطارات خاصة لتطوير تطبيقات مستقلة عن أنظمة التشغيل. يتم إنشاء مثل هذه التطبيقات غالبًا باستخدام تقنيات الويب HTML و CSS وJavascript، ثم يتم عرضها في Webview أصلي ويجب على المطور الذي يحتاج إلى الوصول إلى خدمات أصلية مثل Audio,Camera إجراء ذلك من خلال وسيط مما يؤدي إلى إبطاء استجابة التطبيق.

معمارية الأطر المتعددة المنصات


اقرأ المزيد حول: الطرق المختلفة لتطوير تطبيقات الجوال

ما يجعل Flutter فريد هو أنه بخلاف الأطر الأخرى التي تستخدم عناصر الواجهة الأصلية Native أو عناصر تصميم المواقع ،فإن Flutter يستخدم مجموعة عناصر الواجهة الغنية والقابلة للتخصيص الخاصة به. وقد تم إنشاء هذه العناصر وفقًا لإرشادات Cupertino و Material Design لتتناسب مع شكل وأسلوب عناصر واجهة المستخدم الأصلية ولكن بأقل قدر من العمل.


معمارية Flutter


لماذا يجب أن تجرب Flutter؟

هناك العديد من الأسباب والتي قد تجذبك لتجربة Flutter مثل:

  • إعادة التحميل السريع: لقد ولت الأيام التي يتعين عليك فيها إعادة تحميل تطبيقك والانتظار عدة دقائق لرؤية التغييرات في التعليمات البرمجية. مع إعادة التحميل السريع، يمكنك رؤية نتائج تغييرات التعليمات البرمجية أثناء قيامك بها مما يزيد من سرعة عملية التطوير بشكل كبير.


  • أدوات التطوير: يمكنك استخدام أي محرر نصي مثل VS Code أو Android Studio أو IntelliJ جنبًا إلى جنب مع سطر الأوامر Command Line لتطوير التطبيقات.

  • عناصر واجهة مستخدم UI افتراضية: يوفر لك Flutter العديد من عناصر الواجهة UI الافتراضية التي يمكن استخدامها لتطوير تطبيقات تبدو رائعة الشكل على كل من أجهزة Android و iOS، كما يمكنك إنشاء عناصر جديدة خاصة بك بكل بساطة.

  • أداء أفضل: تستخدم Flutter لغة برمجة Dart والتي يتم ترجمتها إلى تعليمات المعالج الأصلي على الأجهزة المحمولة مما يلغي الحاجة إلى مفسر Interpreter ويوفر أداء عالي على كل من نظامي iOS و Android.

  • الوصول إلى المزايا الأصلية: يمنحك Flutter إمكانية الوصول الكامل لكل الميزات الأصلية للجهاز دون الحاجة إلى وجود وسيط


مصادر تعلم Flutter

دورات تعليمية:


مواقع / مدونات:


دروس / مقالات: