يواجه مطورون تطبيقات الهواتف مشكلة, وهي ان تطبيقاتهم تعمل فقط على نظام الأندرويد أو الأيفون لأنهم يقومون ببرمجتها من خلال لغة خاصة بالنظام على سبيل المثال, جميع تطبيقات الأندرويد تتم برمجتها بلغة الجافا JAVA
, وتطبيقات الأيفون تتم برمجتها بلغة السويفت Swift
, وأنا شخصيا كنت أواجه هذه المشكلة لأنني كنت أعمل فقط على لغة الجافا ولهذا كنت أقوم بتصميم تطبيقات الأندرويد فقط, حتى جاءت Flutter.
ما هي Flutter ؟
Flutter
هي Framework
للتصميم وتطوير تطبيقات الهاتف, تعمل على الأندرويد و الأيفون, مصممة من طرف جوجل و تم إطلاق أول نسخة منها في أواخر سنة 2018. و تم تصميمها بلغة C++
, مما يجعلها قوية وتتميز بأداء ممتاز على جميع الأنظمة الأساسية.
Flutter
لديها مكتبات كثيرة للعناصر واجهة المستخدم (UI
), التي تساعدنا في عمل تطبيق احترافي بأسطر قليلة وفي مدة زمنية قصيرة, وأيضا هي مناسبة لتطوير تطبيقات الويب التقليدية التي تعمل على المتصفحات ك Firefox
و Chrome
, وتأخد التطبيقات التي تم تطويرها باستخدام Flutter
مظهر التطبيقات النموذجية وتتصرف أيضًا بشكل مشابه.
ما هي اللغة البرمجة الخاصة ب Flutter ؟
تعتمد مكتبات Flutter
على لغة برمجة Dart
التي طورتها جوجل وخصوصا فريق متصفح Chrome
, فهي تهدف إلى أن تكون وريثة لغة JavaScript
القديمة التي تعمل على المتصفحات, الأن يمكن أيضا تشغيل شفرة Dart
على المتصفحات وذالك بترجمة الشفرة عبر الأداة dart2js
المقدمة من موقع Dart
الرسمي.
لغة Dart
هي لغة برمجة مفتوحة المصدر وهي من اللغات التي تدعم البرمجة الكائنية (Object Oriented Programming) وال Syntax
الخاص بها شبيه بلغة JAVA
و TypeScript
, وما يميز هذه اللغة هي أنها سهلة في تعلمها جدا وخصوصا للمطورين صفحات الويب ب JavaScript
.
أيضا لغة dart
تتميز بميزة إعادة التحميل السريع (Hot Reload) وهذه الميزة تتيح للمطورين برؤية كل تغيير في جزء من الثانية في شاشة المحاكي أو شاشة الجهاز الذي نختبر فيه تطبيقنا في مرحلة التطوير.
مثال الكود:
void main() {
print('Hello, World!');
}
لماذا سأستعمل Flutter ؟
كما ذكرنا سابقا أن كل من الأندرويد و الأيفون لديهما لغة خاصة للتطوير تطبيقاتهم, فهنا جاءت Flutter
بشكل أساسي لتطوير تطبيقات الاندرويد و الايفون بكود سورس واحد يعني مشروع واحد سيقوم باستخراج تطبيق خاص للأندرويد و تطبيق خاص للأيفون, و بهذه الطريقة سيعمل التطبيق على منصات مختلفة ويعمل مثل تطبيقات الأصلية للجهاز يعني بكفاءة عالية.
فيما يتعلق بواجهة المستخدم، ليست هناك حاجة لاستخدام واجهة مستخدم DSL
خارجية ك XML
التي اعتدناها مع Android Studio
. جميع عناصر الواجهة هي عبارة عن Widgets
فقط يعني أي شيئ في لغة Dart
هو قطعة (Widget
).
تأتي Flutter
مع مئات من العناصر (Widgets
) أو المكونات التي تتيح لنا إنشاء واجهة أو تطبيق إحترافي جدا بأسطر قليلة, وأيضا يمكننا إضافة الحركة لتلك العناصر وجعلها ديناميكية و متحركة أكثر أو أقل تعقيدًا بكل ببساطة وبكل سهولة, كما لو أننا نحركها في صفحة الويب 😄.
صورة توضيحية لتركيب Widgets في Flutter:

سنتطرق للشرح جميع هذه Widgets في مقالات خاصة بها.
ولهذا فإن Flutter
تضع نفسها كرائد مستقبلي في تطوير تطبيقات للأجهزة المحمولة, لكن وصولها لا يزال حديثا حتى أنها ليس لها مصادر متعددة للتعلم, على عكس منافسه Ionic
أو React Native
الذين رسخوا أنفسهم في السوق خصوصا أنهم يدعمو لغة الويب.
تأتي Flutter
مع محرر الأكواد Visual Studio Code
والذي يأتي ب extension
تساعدنا في تنسيق الكود و تكملة الكود عوضا عنا وهو خفيف على النظام ليس ك Android Studio
.

تطبيقات تم تصميمها بها ؟
Conjugaison – la tour Eiffel
مثال حي:

موقعها الرسمي: هنا.