منوعات | 4 دقائق للقراءة

ماهو فلاتر flutter ؟ و كيف يمكنك ان تبدأ بتعلمه الآن

ماهو فلاتر Flutter ؟

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

فلاتر ضد بقية المنافسين في السوق ؟

 

طبعا سوق برمجة تطبيقات الهواتف الذكية حجمه كبير جدا و في الفترة الاخيرة ظهرت حلول تمكننا من عمل تطبيقات لكلا النظامين المشهورين الأندرويد وال IOS  في نفس الوقت و تلك الحلول تختلف تقنيا و في هذا الجدول ساوضح لكم الاختلافات المهمة بين أكبر أربع منافسين الآن في سوق تطوير تطبيقات الهواتف الذكية و بلغة واحدة (لن تشمل المقارنة الأدوات الاصلية أي الجافا و الكوتلين للاندرويد و السويفت و السي الكائنية للـ IOS)

المنافسة ستكون بين ريكات ناتيف و زامرن و ايونيك و فلاتر لكن يجب التنبيه إلى :

    ريكات ناتيف : يمثل أيضا الحلول الاخرى مثل ناتيف سكربت

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

    ايونيك : ممثلا لكل الحلول الهجينة المعروفة مثل كوردوفا و فون غاب

 

المقارنة حسب لغة البرمجة/التصميم : ماهي اللغة التي تستخدم لكتابة أوامر التطبيق و كيف يمكن تصميم واجهات المستخدم ؟

ريكات ناتيف
يتم كتابة منطق البرنامج باستخدام لغة جافا سكربت و التصميم يكون مخلوط مع HTML و CSS

زامرن فورمز   
يتم كتابة منطق البرنامج بلغة سي شارب و التصميم يكون ب XAML

ايونيك  
تجربة مشابهة تمام لبرمجة و تصميم تطبيقات الويب

فلاتر   
كتابة و تصميم الواجهات تكون كلها بلغة دارت

 

المقارنة حسب استخدام مكونات النظام : عندما تقوم باضافة الزر كيف سيظهر على الاندرويد و كيف سيظهر على IOS ؟

ريكات ناتيف
متعلق بشكل كامل بمكونات النظام و إصداره

زامرن فورمز   
توفر تجريد لمكونات النظام و يمكن الإجابة بنعم لأن المكونات تظهر حسب النظام

ايونيك  
غير متعلق بالنظام

فلاتر  
غير متعلق بالنظام لكن تم محاكاته

 

سهولة التعلم : ما الذي تحتاج تعلمه لكي تبني تطبيقات كاملة باستخدام إحدى هذه التقنيات ؟

ريكات ناتيف
تحتاج ان تكون لديك معرفة بتقنيات الويب الاساسية HTML+CSS+JS و من المفضل أن تكون لديك خلفية عن ريكات لكي تجد الامور اسهل في الفهم

زامرن فورمز 
تحتاج تعلم لغة سي شارب  و لغة التصميم XAML

ايونيك   
نفس الشيء تحتاج تعلم تقنيات الويب الأساسية

فلاتر   
تعلم لغة دارت فقط

 

ماهو الجديد في فلاتر ؟

 

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

 

لغة دارت ؟ لماذا ؟

 

 

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

    لغة دارت هي لغة برمجة كائنية التوجه و تنذ كل مفاهيم البرمجة الكائنية منها تعدد الوراثة تحت اسم mixins

    يتحكم فريق فلاتر بشكل كامل في لغة دارت لكي تناسب فلاتر في الاونة الاخيرة حصل تغير كبير على اللغة لكي تناسب فلاتر فمثلا تم جعل كلمة new "التي سيتعرف عليها مبرمج الجافا و السي شارب " كلمة اختيارية فقط لكي يتم تحسين طريقة كتابة الواجهات

    اثناء البرمجة تستخدم لغة دارت مترجم JIT : Just in time و التي بفضلها ظهرت خاصية الهوت ريلود و هي انه عند تغير الكود يتم ارسال فقط البايتات التي تم تغييرها بالتالي حصل التغير في برنامجك في اقل من ثانية و يبقى محافظا على حالته

    أثناء نشر التطبيق تستخدم دارت مترجم AOT : Ahead of time و الذي ينتج لنا تطبيق اصلي و بالتالي اداء رائع

    لغة دارت تم عملها لكي تكون سهلة لمبرمج الجافا سكربت و مبرمجي الجافا و السي شارب ايضا مثال :

بطريقة جافا سكربت

var user=['raouf','ahmed'];

بطريقة جافا

List<String> user=List<String>();

 

هل توجد شركات كبيرة تستخدم فلاتر الان ؟

 

 

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

الجمع بين تجربة المستخدم و تجربة المطور ؟

 



هل فلاتر مناسب لك ؟


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

ملئ الشاشة

اضافة سؤال جديد