تقنية Flutter أصبحت متاحة لكل المنصات ... إليك نظرة أقرب عن هذا التحديث

تقنية Flutter أصبحت متاحة لكل المنصات ... إليك نظرة أقرب عن هذا التحديث

لم يمض إلا القليل عن مؤتمر جوجل Google I/O 2019 الذي فاجئتنا جوجل من خلاله بالعديد من التحديثات الجديدة التي نقتبس لكم منها بين الحين و الآخر و نقوم بنشرها على صفحتنا الرسمية على فيسبوك، إلا ان بعض التحديثات و الأخبار التي أطلقتها جوجل تحتاج قليلا لبعض الشرح و تحتاج الى نفسير و توضيح أكثر، كما الحال بالنسبة لإطلاق تحديث Flutter ليدعم كل المنصات، فما الذي يعنيه هذا بالضبط ؟ و ما خواص و مميزات Flutter على منصات الموبايل الأصلية أولا، ثم المنصات الأخرى ثانيا، و هل صار بإمكاننا الآن فقط تعلم Flutter دون تعلم أي تقنيات أخرى ؟ 

- ما هي Flutter : 

فلاتر او Flutter، و هي تقنية  برمجية قد أطلقتها جوجل سنة 2017، تعتمد في الأساس على Dart في صياغة و قراءة و تشغيل الكود البرمجي الخاص بها، و قد أطلقتها جوجل حينها كوسيلة لتطوير  تطبيقات الأندرويد و الـ iOS بطريقة بعيدة قليلا عن الهجانة (Hybrid) لتوفر على المطورين عناء تطوير نفس التطبيق مرتين على منصتين مختلفتين، و قد وجد العديد من المطورين راحتهم في إستخدام Flutter لما تقدمه من ميزات و بساطة و سلاسة في كتابة الكود البرمجي و تشغيله. 
في مؤتمر جوجل I/O 2019 أعلنت جوجل ان التقنية البرمجية فلاتر لن تقتصر فقط على تطوير تطبيقات الموبايل بداية من الآن، بل ستصير متاحة لتطوير أي برمجية على أي منصة من بينها المنصات الثلاث الرئيسية و هي الويب، سطح المكتب و الموبايل بالطبع. 

تقنية Flutter أصبحت متاحة لكل المنصات ... إليك نظرة أقرب عن هذا التحديث

- تقنية Flutter للموبايل : 

بشكل أساسي، قمنا بتغطية هذا الأمر في مقالنا بعنوان دليلك لبداية صناعة تطبيقات الأندرويد و iOS بإحترافية ( الجزء 1 - مقدمة ) الذي من خلاله الى تقديم و تفسير Flutter للموبايل، اشرنا الى ان فلاتر تعتمد على الـ Widgets في الموبايل لتطوير كل عنصر من عناصر التطبيق و تحديد هياكله و الستايل الخاص به كذلك مما يتيح سهولة في تطوير تطبيق متكامل دون تداخل عناصره، كما ان لغة Dart القوية من جوجل التي بني عليها Flutter جعلت من السهل بناء عناصر (Components) تحترم المعايير البرمجية، فلغة Dart لغة برمجية كائنية التوجه ذات أغراض مختلفة نستطيع إستخدامها كما نريد،  في فلاتر نستخدمها من أجل تركيز الكود البرمجي و إظهار قوته، كما ان فلاتر في الموبايل يأتي مجهز بتقنيات الـ Material Design لإنشاء واجهات إحترافية، قد تحدثنا كذلك ان الإستخدام الكامل لفلاتر سيكون بإحتراف Dart أولا و فهمها، لغة البرمجة Dart لا تختلف كثيرا عن منهج الـ C و الجافاسكربت في إكتسابها و سيكون أسهل لو مارست البرمجة بإحدى اللغتين السابقتين لإكتسابها بشكل أسرع. 

في تحديث إطار فلاتر الذي سيصير Flutter 1.5 الذي سيجلب مئات التحديثات حسب جوجل، منها تطويرات كبيرة في كل من الـ SDK للـ iOS و الـ Android، الى جانب تطويرات في بناء واجهة التطبيق (UI)، كما سيدعم فلاتر للموبايل تقنية ML Kit إختصاراً لـ Machine Learning Kit بحيث سيصير بإمكانك بناء تطبيقات تشتغل على التعلم العميق و الذكاء الإصطناعي بإستخدام فلاتر فقط. 

- تقنية Flutter للويب : 

من المتعارف ان للويب أصوله او تقنياته التي تكون حجر الأساس الخاص بأي موقع ويب مثل الـ HTML, CSS، لن تتخلى فلاتر عن هذا الأمر أيضا، و سيكون إطار Flutter للويب بمثابة عنصر جافاسكربت للدمج بين كل من الـ Front End و الـ Back End، فقد إعتدنا مثلا على إطارات مثل Angular او Vue او React من أجل بناء تطبيقات ويب ذات قدرات أفضل مستبدلين بذلك إطارات جافاسكربت أخرى مثل jQuery، لتنظم فلاتر لهذه السلالة و تتيح لنا بناء برمجيات ويب فعالة. 

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

- تقنية Flutter للسطح المكتب : 

سيكون عبارة عن محرك خاص بتطوير برمجيات سطح المكتب (Flutter Engine)، سيساعد هذا المحرك على بناء برمجيات سطح مكتب تشتغل على كل الأنظمة تقريبا، ليس بالأمر الغريب علينا فقد شهدنا مسبقا Electron مثلا الذي يستخدم كذلك الجافاسكربت كمحرك أساسي لبناء برمجيات سطح مكتب، الآن فلاتر ستأتي بجديدها هي الأخرى لمساعدة مطوري  البرامج على إبتكار برمجيات Multiple-platform، أشارت جوجل أيضا الى ان محرك فلاتر سيدعم كذلك أجهزة الـ Chrome OS  مشيرة كذلك الى عدد مبيعاتها الكبير جدا لأجهزة الـ Chromebook، لازال محرك فلاتر لتطوير برمجيات سطح المكتب في بداياته و إن أطلقت جوجل مستودعا على جيتهاب لمن يريد البدئ في تجربته، فقد قامت جوجل مسبقا بتجربته على برمجية تجريبية، لكن لازال لا ينصبح بإستخدامه بشكل أساسي في الوقت الراهن. 

- الدمج بين كل المنصات بإستخدا Flutter : 

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


- إشارة لـ Go و الـ Java مقابل Flutter : 

بإطلاق جوجل لهذه التحديثات في فلاتر، قد يطرح ببالك مجموعة من الأفكار و التساؤلات منها : هل ستدعم جوجل GO بنفس دعم Flutter ؟ اشارت جوجل الى انه يمكن إستخدام Flutter في الـ Embedded Sys، لكن هذا سيستبعد GO؟ تصدرت لغة البرمجة الخاصة بجوجل GO أيضا قائمة أفضل اللغات البرمجية في إحصائيات عديدة، و عدم الإهتمام بها و إعطاء خواصها لـ Flutter قد ينقص من قيمتها قليلا، رغم انها محاولة بعيدة المدى، لكن التماشي مع Flutter في كل المجالات قد لا يعطي فرصة لـ GO للتنفس كثيرا. 
لكن ما علاقة الجافا بالأمر ؟ قد يطر بخلدك كذلك ان إستخدام Flutter في المنصات الثلاث يعني نهاية العديد من اللغات البرمجية التي تدعم منصة واحدة، نذكر هنا ان الجافا و كذا البايثون من اللغات البرمجية التي تدعم هي الأخرى تطوير برمجيات في كل المنصات تقريبا الى جانب إستخدامها في تقنيات أخرى مثل التحليل و علوم البيانات، لذلك إنزع فكرة ان " فلاتر ستحتل العالم و لا تتعلم اي لغة برمجة اخرى " لأن فلاتر و تحديثاتها هذه لازالت في البداية و من الصعب ان نرى  المستقبل بفلاتر حاليا.