مكود مكود

آخر الأخبار

جاري التحميل ...

مدخل إلى تقنية Flutter : أحدث تقنيات تطوير تطبيقات الموبايل

مدخل إلى تقنية Flutter : أحدث تقنيات تطوير تطبيقات الموبايل

مع مطلع سنة 2021 أصبحت تقنية  Flutter تحظى بمكانة رفيعة بين عناوين صناعة و تطوير تطبيقات الأجهزة المحمولة ، ولم تعد هذه الشعبية مفاجئة لنا لاسيما وأن شركات عملاقة أمثال Alibaba ، Google Ads ، App Tree ، Birch Finance والمزيد غيرها قد اعتمدت تقنية Flutter في بناء مشاريعها . و يمكنك أن تلمس مدى احترافية هذه المنصة إذا ما سبق لك و استخدمت تطبيق Google Ads أو Alibaba الذين تم بناؤهما بواسطة Flutter .

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

مدخل إلى Flutter

ما هو Flutter ؟

لغة Flutter كما يسميها البعض هي تقنية برمجية مفتوحة المصدر مقدمة من قبل شركة غوغل ، الغرض منها تطوير تطبيقات الهواتف الذكية.

وهي عبارة عن مجموعة أدوات لتطوير البرامج SDK مزودة بكل ما قد تحتاج إليه لصناعة تطبيقات أصلية Native Apps لكل من ال Android وال IOS و تطبيقات تعمل على جميع المنصات


نعم ، فباستخدام تقنية Flutter يمكنك أن تبرمج تطبيقات تعمل على Android و IOS ، وأكثر من ذلك أن البرامج التي يتم صناعتها بفلاتر تعمل على معظم أنظمة التشغيل مثل Linux , Mac , Android , IOS و حتى أجهزة Fuchsia .


تم إنشاء تقنية Flutter لكي تعمل على بنية التطوير التفاعلي مع بعض التغييرات الجديدة . و يعد تحميل محتويات واجهة المستخدم ( UI ) بشكل تلقائي في خلال تحديث المتغيرات في الكود أحد الميزات الفعالة في البرمجة التفاعلية .. مما يجعل التطبيق سريع جدا في التحميل و الأداء ، و جدير بالذكر أن منصة React Native المتخصصة في تطوير تطبيقات الموبايل تعمل بنفس المفهوم ، غير أنها تستعين بالـ   JavaScript Bridge لإنشاء تواصل ما بين الجافاسكريبت و النظام الأصلي ومن ثم الوصول الى أدوات OEM المصغرة الموجودة في النظام . ومع ذلك يواجه Flutter مشكلات فيما يخص الوصول الى مكوناته الأساسية في كل مرة يتم فيها تحميل التطبيقات التي تصنع بواسطته .


دعونا نفهم الإطار الأساسي لعملية الوصول إلى أداة OEM :

منهجية عمل أدوات OEM

حين يحتاج التطبيق للوصول إلى أدوات واجهة المستخدم الرسومية OEM ، يتم توجيهه إلى قسم واجهة المستخدم UI ، ثم توجيهه إلى الـ Canvas أثناء التعامل مع الأحداث الأخرى.

في محاولة لإنشاء تطبيق يعمل على جميع المنصات ، يتوجب أن يستعمل هذا التطبيق لغة جافاسكريبت ، لذلك عندما يريد التطبيق أن يصل إلى واجهة المستخدم ، أي أدوات OEM المصغّرة ، يحتاج إلى جسر يمكنه من الوصول إلى تلك الأدوات والتي ستمنحه التحكم في النظام ، فيكون من اللازم ترجمة البيانات إلى إطار عمل أساسي ، والمسمى JavaScript Bridge الذي يقوم بدوره بالتواصل مع ال UI و أدوات OEM ، لكن هذه العملية تحتاج إلى مزيد من الموارد و الوقت و ستؤدي بالتالي الى تقليل الأداء .

مفهوم ال Bridge مع الجافاسكريبت

منهج Flutter


الآن مع تقنية Flutter ، تمت إزالت الـ Bridge وأصبح فلاتر يتواصل مع النظام بواسطة لغة Dart .

لغة Dart المستعملة في Flutter


حيث يستخدم Flutter لغة برمجة كائنية التوجه تعرف باسم Dart والتي تستخدم أساليب ترجمة مسبقة التوقيت من أجل عمل Compile إلى كود أصلي دون الحاجة إلى استعمال أدوات الوصول - Bridge .

وكما هو موضح في الصورة أعلاه ، يستخدم Flutter نظام التشغيل الخاص به مباشرة على شكل Canvas من أجل تطوير الواجهة ، ولذلك يتم الوصول مباشرة إلى خدمات برمجية مختلفة مثل ال Animations و rendering مما يوفر للمطورين السهولة في التحكم .

أعتقد أننا فهمنا بعض الشيئ ما هو Flutter وكيف يجعل من عملية التطوير أكثر سهولة .. لنمر بسرعة و نرى ما هي أهم مميزاته .


مميزات في تقنية Flutter


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

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


إيجابيات التطوير بواسطة Flutter


  • يمكنك Flutter من استخدام عناصر واجهة المستخدم الجاهزة والمخصصة لتصميم واجهات احترافية .
  • سهل التعلم و لديه مجتمع متنامي .
  • يستخدم Flutter لغة Dart وهي لغة قوية و سهلة التعلم خصوصا لمبرمجي جافا .
  • يستخدم دوال خاصة لإعادة التحميل من وقت لآخر للحصول على التحديثات الفورية.
  • سهولة الحمل كونها عبارة عن مكتبات SDK وليس Framework .
  • يمكن من الوصول المباشر إلى الأدوات المصغّرة و بالتالي ضمان الأداء العالي.


أوجه الاختلاف بين Flutter و React Native


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

إن هناك اثنين من التقنيات القوية التي تحقق هذه الشروط وهما React Native و Flutter . اكتسب React Native بعد تطويره بواسطة لغة جافاسكريبت شعبية كبيرة جدا في ما يخص صناعة تطبيقات الأندرويد و الأيفون ، في حين زادت شهرة Flutter الذي امتلكته Google و أصبح يفجئنا بميزاته الرائعة مؤخرا.

إذا ماذا سيحدث لو قارنا بين هذين العملاقين ؟ حسنا لنرى ..


1. اللغة المستعملة

Flutter يستعمل لغة Dart وهو ملك لشركة Google .


أما React Native فيستخدم الجافاسكريبت و تقف وراءه شركة الفيسبوك .


2. إعادة استخدام الكود

إن Flutter خيار رائع لإعادة استخدام الأكواد الخاصة به...

يسمح لك React Native بإعادة استخدام الشفرة البرمجية لكن في حدود بعض المكونات فقط.


3. الأداء

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


في حين يستخدم React Native أداة عرض واجهة المستخدم الأصلية الموجودة في نظامي Android و IOS لإظهار مكونات الـ UI على الشاشة .

مقارنة بين Flutter و React Native

كيف تنشئ أول برنامج بواسطة تقنية Flutter ؟


سنبدأ في البداية مع خطوات تثبيت بيئة العمل .. يمكنك استعمال أي محرر نصوص تفضله لكتابة و تطوير التطبيقات غير أنه يستحسن أن تستخدم Android Studio أو Visual Studio Code أو برنامج IntelliJ

سنشرح هنا كيفية التثبيت على Android Studio استنادا على نظام Linux OS :


الخطوة 1 :

أولا افتح برنامج أندرويد ستوديو ، اذهب الى File -> Settings -> Plugin -> أكتب " Flutter " في شريط البحث ثم اضغط install .

تثبيت فلاتر على Android Studio  


الخطوة 2 : تثبيت حزم SDK

بالنسبة لتثبيت مكتبات ال SDK إتبع هذه الخطوات ..
 File -> New -> New Flutter project -> Select
Flutter Application -> Click on Install SDK
  تثبيت حزم ال Flutter على Android Studio


أو يمكنك تحميل تقنية Flutter مباشرة من هنا

و الآن صرت جاهزا لكتابة أول برنامج لك بواسطة Flutter .


كيف تكتب تطبيق Hello World بسيط بواسطة Flutter  : 


في هذا الفيديو ستتعلم كيف تكتب أول تطبيق لك باستخدام تقنية Flutter ، حيث سيريك الفيديو كيفية كتابة برنامج Hello World بسيط على بيئة Android Studio و سيريك أيضا بنية الشيفرة البرمجية في تقنية Flutter وكيف يعمل Flutter :




أفضل كتاب عربي لتعلم لغة Flutter 


يعد كتاب " برمجة تطبيقات الجوال Flutter " من أهم وأفضل الكتب التي قد تدخلك الى هذا المجال ، وشخصيا أرشح هذا الكتاب ليكون أفضل مرجع عربي لتعلم تقنية Flutter . سيمكنك هذا الكتاب ان شاء الله من دخول عالم برمجة التطبيقات من أوسع ابوابه ، كما سيعطيك القوة لكي تتأهل للعمل في أقوى الشركات او حتى الربح من التطبيقات بشكل مستقل. ويشرح هذا الكتاب لغة Dart التي يعتمد عليها Flutter بشكل مفصل بدءا من الأساسيات مرورا بالمفاهيم المتقدمة في اللغة ، مرورا بالتقنيات المتطورة التي يقدمها Flutter لتطوير التطبيقات مشروحة بالتفصيل . الكتاب من تأليف المهندس فيصل الأسود مهندس برمجيات وباحث في جامعة SRM الدولية للعلوم والتكنولوجيا . نوفر لك هذا الكتاب الرائع لتعلم Flutter بصيغة pdf عبر هذا الرابط المباشر :


رابط التحميل هنا 

التعليقات



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

إتصل بنا

الهدف :

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