Dart and flutter

نظرة عامة على فلاتر Flutter إطار عمل المستقبل 1

مقدمة في فلاتر Flutter ؟

نظرة عامة على فلاتر Flutter إطار عمل المستقبل

فلاتر Flutter حتى نستطيع التعرف على سوف نضع أنفسنا في مكان مطور البرمجيات, قد تصنع تطبيقاً ناجحاً و لكن هناك مشكلة في أن هذا التطبيق قد كان مصنوعاً فقط لأجهزة Apple و لا يعمل على أجهزة Android لأن المبرمج عادتاً يعرف لغة برمجة واحدة, و من المؤكد أن هذا المبرمج سوف يبدأ في التفكير أنه وجب عليه أن يقوم بالعمل في هذا التطبيق ليستطيع نشره على أجهزة Android.

لذلك يصبح مضطراً أن يتعلم لغة برمجة جديدة, لغة برمجة مثل Java أو يتعلم Android Development و يبدأ في برمجة التطبيق من أول و جديد بهذه اللغة الجديدة Java حتى يستطيع تحميل التطبيق على منصة Google Play أو إذا كانت شركة سوف تصبح مضطرة إلى تعيين شخص جديد يعمل على هذه اللغة الثانية Java حتى يستطيع إنشاء التطبيق لأجهزة Android و بذلك يكون التطبيق متواجد على المنصتين Android Play Store و Apple Store.

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

و يتم رفع التطبيق مرة أخرى على المتجرين و هذا يحتاج إلى الكثير من العمل و الوقت و المال.

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

لهذا السبب قامت شركة جوجل برعاية و تطوير فلاتر, و فلاتر هو بيئة عمل واجهات المستخدم و يوفر طريقة معبرة و سريعة للمطورين لبناء التطبيق على النظامين و هنا تأتي فائدة فلاتر.

فلاتر ببساطة UI Toolkots تساعد المبرمجين على تصميم تطبيقات لكلا المنصتين و بمختلف أحجام شاشات الموبايل من خلال إستخدام Widget جاهزة تساعد على العمل بشكل أسرع.

و Widget يسميها البعض على أنها المكونات أو العناصر أو المركبات و هي مجموعة من العناصر مع بعضها البعض تشكل مخرج معين.

أمثلة على أنواع Widget

1- صف (Row Widget) : نستخدمها لكي نضع أكثر من عنصر على سطر واحد.

2- عمودي (Column Widget) : تستخدم لكي نضع أكثر من عنصر بشكل عمودي.

3- تكديس (Stack Widget) : تستخدم لنضع أكثر من عنصر فوق بعض ( نص فوق صورة أو صورة فوق صورة).

4- المسافات (Padding Widget) : تستخدم لكي نضع مسافة بين العناصر.

5- المنتصف (Center Widget) : تستخدم لتضع الـ Widget في منتصف الشاشة.

و يوجد هناك الكثير من الـ Widget الأخرى سوف نتعرف عليها فيما بعد ضمن هذه السلسلة من دروس Flutter.

 

ما هو فلاتر Flutter ؟

فلاتر ( Flutter ) هو عبارة عن SDK و هو إختصار ( Software Development Kit ) تتبع لشركة Google و هي مخصصة من أجل برمجة تطبيقات الهواتف الذكية التي تعمل في نظام Android و IOS و Fuchsia أي هو نظام تشغيل جديد من جوجل حيث يركّز هذا النظام على تجربة المستخدم و المطور في الوقت نفسه لأنه يوفر إطار عمل شامل في لغة Dart و هذا الإطار مخصص لرسم الواجهات بجودة عالية و تطبيقات بأداء عالي و يعطي للمطور الأدوات التي تجعله يبني تطبيقات كاملة في وقت قصير.

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

يعتبر فلاتر على أنه ( SDK ) حزمة تطوير تطبيقات الهواتف الذكية و يسمح بكتابة و برمجة تطبيق في قاعدة بيانات واحدة و تكون لكل من Android و IOS.

و تم إنشاء اطار Flutter من الصفر و تم الإستخدام لكتابته و بنائه في لغتي Dart و C++ و هو لا يزال في مراحله التجريبية, و على الرغم من ذلك فإن إطار فلاتر تم إصداره رسمياً لكن لا يزال في المرحلة التجريبية للنجاح.

 

لماذا فلاتر Flutter ؟

بإستخدام فلاتر نستطيع أن نكتب كود أساسي واحد لمختلف المنصات و هذه فائدة كبيرة بدلاً من برمجة تطبيق IOS بإستخدام لغة sweft أو Objective C و برمجة تطبيق أندرويد بإستخدام Java أو Kotlin و تطبيق الويب بإستخدام JavaScript, مع فلاتر نستطيع كتابة كود واحد فقط لإستخراج جميع التطبيقات (IOS, Android, Web) و لذلك يجب علينا تعلم لغة Dart.

 

ما هي لغة دارت Dart ؟

لغة Dart هي لغة تم إنشاءها من قبل شركة Google و هي لغة سهلة جداً في التعلم و بمجرد تعلم أساسيات هذه اللغة نستطيع إنشاء تطبيقات Web, Android, IOS و إذا كان لديك خبرة سابقة في البرمجة سوف تعرف أن لغة Dart هي لغة قريبة من اللغات البرمجية الأخرى مثل جافا و جافاسكربت و كوتلن و غيرها, و يتم إستخدام هذه اللغة من قبل شركة جوجل لإنشاء التطبيقات الخاصة بهم.

 

بعض التطبيقات التي تم بناءها عبر فلاتر

  1. التطبيق الرسمي لجوجل (Google Ads).
  2. Xlanyu من إنتاج شركة Alibaba.
  3. تطبيق خاص بالألعاب Stadia.

أصبح الطلب على فلاتر أكثر و أكثر خصوصاً في البلاد العربية و خارجها.

 

مميزات فلاتر Flutter

يوجد الكثير من المميزات التي تتميز بها لغة دارت عن باقي اللغات الأخرى سوف نذكر بعض هذه المميزات.

 

التطوير و العمل السريع Fast Development

تم تصميم فلاتر للعمل بسرعة كبيرة حيث تسمح بإعادة التحميل السريع للتغيير في الكود و رؤية النتيجة في أقل من ثانية دون فقدان التطبيق.

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

 

Expressive and Flexible UI

الفلاتر يحرك الـ Widget و الرسوم المتحركة و الإيماءات في الإطار ليمنحك السيطرة الكاملة على كل بيكسل في الشاشة و هذا يعني أنه لديك المرونة لبناء التصميم المخصص لها.

 

Native Apps For IOS and Android

تطبيقات الفلاتر تتبع النظام الأساسي للتطبيقات و التصميم مثل التمرير و   و الأيقونات و الخطوط, و هذا هو السبب في أن التطبيقات التي بنيت بالفلاتر تعرض على كلا المنصتين.

الفلاتر رائع للمطورين لكل من الجدد و ذوي الخبرة إذا كنت جديداً على برمجة تطبيقات الموبايل, الفلاتر يقدم لك طرق سريعة و حديثة لعمل تطبيقات تعمل على نظامي IOS و Android.

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

الفلاتر مجاني و مفتوح المصدر يستخدم من قبل المطورين و المنظمان في جميع أنحاء العالم في ما ذلك المؤسسات و الوكالات و الشركات الناشئة.

 

جدول أعمال و محتوى كورس فلاتر

في مشوارنا هذا في تعلم فلاتر و دارت من الصفر حتى الإحتراف و بناء عدة مشاريع في الدورة, سوف نسير وفق خطة مرسومة لهذا, و الأبواب التي سوف ندرسها هي:

  1. أساسيات لغة دارت مثل التعامل مع الشروط و الحلقات التكرارية و المتغيرات و غيرهم.
  2. تعلم البرمجة الكائنية الموجهة oop مثل الوراثة و الكلاسات و الكائنات و الكبسلة.
  3. إنشاء الواجهات في فلاتر بأفضل الطرق و بأفضل كود نظيف.
  4. تعلم قواعد البيانات و جلبها من السيرفرات أو من الإنترنت أو من جهات ثالثة.
  5. تعلم أنماط التصميم mvc.
  6.  تعلم إنشاء المواقع في فلاتر و دارت.
  7. التعامل مع الذاكرة المحلية و قواعد بيانات عن طريق sqflite.
  8. تعلم state management.
  9. تعلم أنماط التصميم أنماط التصميم mvvm.  

Ahmedkaissar

من مصر من محافظة الجيزة مبرمج ويب و خبير أمن معلومات محب للتقنية و الأمن المعلوماتي مدرب للغات "Python,html, css, php, js, laravel"

مقالات ذات صلة

زر الذهاب إلى الأعلى