من المؤكد أنك قد استخدمت تطبيقاً مطوراً باستخدام تقنية Flutter، فهو إطار عمل مستخدم في العديد من التطبيقات الشهيرة التي تستخدمها.
تحدثنا في المقال السابق عن أنواع التقنيات المستخدمة في تطوير تطبيقات الهواتف الذكية بصورة عامة وسنتعمق في مقالنا اليوم قليلاً في أحد أنواعها الا وهو cross platform mobile applications وتحديداً إطار العمل (Flutter فلاتر) وسنقدم لكم في هذا المقال خطة متكاملة، لتعلمه من الصفر للإحتراف مع مصادر تعلم مقترحة.
ما هو فلاتر؟ ما هي مميزاته؟ و كيف نشأ؟
فلاتر هو إطار عمل مفتوح المصدر مبني على لغة دارت ومن تطوير شركة غوغل و يستخدم لبناء تطبيقات هاتف تعمل على منصات متعددة (multi platform) وبكتابة كود واحد فقط.
أولُ ظهورٍ له كان في عام 2017 وأولُ نسخةٍ مستقرةٍ منه كانت في عام 2018 ولم يمضِ وقتٌ طويلٌ قبل أن يصبحَ شائعاً جداً بين المبرمجين.
إطار العمل فلاتر قائم على مبدأ (Every thing is a widget) بمعنى كلُ شيءٍ عبارة عن مكونات أو عناصر, فالنص هو (ويدجت) والصورة هي (ويدجت) وكذلك الأمر بالنسبة للخطوط والإيقونات والألوان والأزرار إلخ...
مجموع هذهِ المكونات مع بعضها تشكلُ لنا ما يسمى ب (Screen) أو الشاشة.
ايجابيات Flutter فلاتر.
- يعمل على مختلف المنصات بنفس الشكل وبدون أيِّ تغيير
- أداء عالي وتجربة سلسة للمستخدم
- يوفر مجموعةً كبيرةً من العناصر والأدوات الجاهزة التي تسهل كثيراً من استخدامه
- مفتوح المصدر
سلبيات Flutter فلاتر.
- التطبيقات المُطَورة بِواسطة Flutter قد تكون كبيرة الحجم
- استهلاك أعلى لموارد الجهاز من أجل تحقيق الأداء الأمثل
خريطة تعلم (Flutter فلاتر).
أساسيات لغة دارت .
وهنا ستتعلم المفاهيم الأساسية الموجودة في أيّ لغةِ برمجة مثل المتغيرات و الدوال والجمل الشّرطية وبالتأكيد مفاهيم ال oop.
واجهةُ مستخدمٍ بسيطة Basic UI .
وستتعرف هنا على ال (widgets) الأساسية التي ستحتاجها لبناء أي واجهة مثل الصور والنصوص والألوان الخ..
Navigation
وفيها ستتعلم التنقل بين الصفحات والواجهات المختلفة التي بنيتها.
إدارة الحالة State Management
نعني بها كيفية تخزين وتحديث البيانات التي تؤثر على واجهة المستخدم بشكل مباشر، هناك العديد من الطرق المتبعة لإدارة الحالة من مثل : BLoC,Provider,Getx… تعرف عليها وأختر التي تناسبك ففي النهاية جميعها تؤدي نفسَ الغرض المنشود .
التعامل مع API
وتعني إستقبالَ وإرسالَ المعلومات من و إلى قاعدة البيانات (Database) من خلال وسيط نسميه (Api) , ويمكن استخدام مكاتب جاهزة مثل : http ,dio التي تساعدك في التعامل مع (Api) .
Responsive Design
أيّ جعلُ تطبيقكَ متوافقاً مع أحجامِ الشاشاتِ المختلفة , وهناك أيضاً مكتبات كثيرة تساعدك في هذا الموضوع منها: flutter_ screenutil , responsive framework
بناءُ التطبيقات بنفسك
وهي الخطوة الأهم , حيث أنَّ جميعَ الخطوات السابقة هي أمور لا يكادُ يخلو أيُّ تطبيقٍ منها، ولتثبيت المعلومات والـتّأكد من فهمك لجميع الأفكار يجبُ أن تبنيَ على الأقل تطبيقين أو ثلاث بنفسك كي تحقق الاستفادة الكاملة.
زد معلوماتك وخبراتك
بعدَ أن تتقنَ جميعَ الخطوات السبع السابقة يمكنك زيادة معلوماتك بأمور تحسن من أداءِ تطبيقك:
- قم ببناء تصاميم وواجهاتٍ أكثرَ تعقيداً.
- تعلم إضافة انميشن إلى تطبيقك لجعلهِ أكثرَ حيوية.
- تعلم كيف تتعامل مع خرائط غوغل وإضافتها لتطبيقك.
- تعلم كيف تقوم بنشر تطبيقك على المتاجر مثل Google play و App store
بعض مصادر التعلم المقترحة
يوجد العديد من الدروس المنتشرة على الأنترنت منها المجاني ومنها المدفوع و سنذكر لكم بعضاً منها بدونِ ترتيبٍ معين:
- كورس المهندس ثروت سامي على منصةِ يوديمي.
- كورس المهندس عبد الله منصور على منصةِ يوديمي ايضاً.
- كورس المهندس وائل ابو حمزة على يوتيوب
وبالتأكيد عليك الإطلاع على ال (Documentation) الرسمي الذي ستجد فيه جميع ما تحتاجه من معلومات.
وأخيراً استمر بالتعلم والتطوير ولا تتردد بإستكشاف مهارات وخبرات جديدة دائماً. نتمنى لكم رحلةَ تعلمٍ ممتعة...