القائمة الرئيسية

الصفحات

شرح flutter تقنية المستقبل و معلومات مهمة عنها - بدايتك لتعلم flutter

تعلم flutter

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

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

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

لكن هذا لم يكن سوى الجانب المضيء من الموضوع ,لأن برمجة تطبيق يعمل على أشهر نطامي تشغيل للهواتف الذكية أندرويد و ios مهمة صعبة بالإعتماد على الأدوات و اللغات الأصلية لكل نظام ( لغة Java أو Kotln و إطار Android Studio لنطام أندرويد ,  لغة Swift أو Objective-c و إطار العمل Xcode لنظام ios ) .

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

ناهيك عن المشاكل التي يواجهها المبرمجون بإستخدام لغات صعبة مثل Java و Obective-c , و بالنظر إلى هاته الصعوبات و العراقيل لاحظ المطورون  أنه لابد من إنشاء أنظمة تدعى cross platforms تعمل على تبسيط مهمة إنجاز التطبيقات بسهولة وسلاسة لتعمل بأداء عالي على كافة أنظمة التشغيل دون الحاجة لإعادة كتابة التطبيق في كل مرة و لا تختلف عن تلك المبنية بإستعمال اللغات الأصلية .
وعلى رأس هذه التقنيات فلاتر ,الآن بعد هاته المقدمة التوضيحية نجيب على السؤال: ماهو flutter ؟ وما الذي يدفعك للتفكير في تعلم flutter ؟

شرح flutter

شرح flutter

هي عبارة عن sdk أو حزمة أدوات تطوير البرمجيات تم إنشاؤها من طرف شركة جوجل و أطلقت النسخة الثابتة منها بإسم flutter 1.0 سنة 2017 , تعمل على برمجة تطبيقات للهواتف الذكية متوافقة مع مختلف أنظمة التشغيل و تتم البرمجة و التصميم بواسطة لغة Dart الحديثة التي أطلقتها جوجل سنة 2011 لإزاحة لغة جافا سكريبت من الساحة إلا أنها فشلت في ذلك كون لغة جافاسكريبت قوية جدا و غنية بالمكتبات و أطر العمل و لا تزال هنالك إمكانية لتفوق Dart بالنظر إلى تطورها الدائم و ما تقدمه من مميزات  .

لغة Dart بسيطة و سهلة للتعلم و قريبة جدا من لغات البرمجة المعروفة مثل لغة JavaScript و لغة c و تدعم البرمجة الكائنية بمختلف مفاهيمها مثل الوراثة inheritance و التحميل الزائد overloading و التغليف encapsulation و غيرها .
إشتهرت Dart بعد ظهور التقنية بحيث تم تعديلها لتتلائم معها و تكون أكثر دقة في تصميم الواجهات بحيث يمكن التحكم في كل بكسل في الشاشة بالإضافة إلى ميزة التحميل السريع hot reload حاليا التعديل على التطبيق يستغرق أقل من ثانية على عكس اللغات الأصلية حيث يتطلب التعديل على جزئية بسيطة إعادة الرفع من جديد و إضاعة الوقت .

و هذه الميزة تعتمدها تقنيات أخرى مشابهة لها مثل react native, فبإستخدام flutter يتم نقل البايتات الخاصة بالتعديل فقط لذلك سرعته عالية جدا.
هذه من بين الأمور التي جعلت الكل يبحث عن شرح flutter و دفعت العديد من الشركات الضخمة في العالم لإستخدام هذه التقنية في تطبيقاتها مثل شركة Alibaba و google adword و google assistant و eBay و BMW و Hamilton و غيرها من الشركات الكبرى الموضحة في الصورة التالية .
flutter

لماذا علي تعلم flutter

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

سهولة نقلها لأنها لا تشغل مساحات كبيرة فهي مكتبة sdk .

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

تسمح ببناء تطبيقات للجوال تعمل على نظام الأندرويد و ios على عكس اللغات و التقنيات الأصلية .

تختلف flutter عن بعض التقنيات الأخرى كون تطبيقاتها مترجمة على أنها native apps على عكس إطار react native مثلا الذي يعتمد على الـ bridge أي وجود جسر للإتصال الغير متزامن بين لغة جافا سكريبت و المتصفح .

و كذلك تقنيات أخرى مثل phone gap و cordova حيث تعتمدان على webview أي إستغلال ثغرة معينة وبناء تطبيق بتقنيات الويب html و css و Javascript كأنه موقع ويب لكن يتم عرضه كتطبيق هجين , و هذه الفكرة لا يمكن الإعتماد عليها في المشاريع الكبيرة و إنما تفي بالغرض للتطبيقات البسيطة كالمدونات و غيرها . تقنية فلاتر تتميز عن كل هذا بفضل لغة Dart التي تعتمد على Aot أو ما يعرف بـ Ahead Of Time بحيث يترجم التطبيق على أنه أصلي .

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

تتميز تطبيقاتها بأداء عالي و سرعة فائقة بالإضافة إلى تحكم كامل في رسم واجهة التطبيق .

لا تقتصر فقط على التطبيقات البسيطة ذات الوظائف المحدودة كما يخيل للبعض بخصوص أي إطار cross platrofms , بل يمكن من خلالها صناعة برمجيات ضخمة بحجم تطبيق Google Adword  و متجر Alibaba .

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

تقلل بشكل كبير من تكاليف إنتاج التطبيقات مقارنة باللغات البرمجية و التقنيات الأصلية Native لكل نظام تشغيل التي تعتبر باهضة جدا , فضلا عن أنها لا تستغرق مدة طويلة لبرمجة التطبيقات و بخصوص تصميم الواجهة ممكن أن لا يتعدى الدقائق .

يمكن إستخدام لغة دارت كنسخة محسنة من لغة جافاسكريبت و بذلك يمكن إستعمال تقنية flutter لتطوير الويب و التقليل من مشاكل تجاوب الصفحات بإدخال أسلوب الـ material design إلى الويب و قد أكدت جوجل أن فريق التطوير لديها يعمل على أن تكون التقنية قادرة على إنتاج جميع أنواع البرمجيات بما فيها برامج سطح المكتب .

عيوب flutter 

بالرغم من توفرها على العديد من المميزات إلا أنها كأي تقنية لا تخلو من العيوب .

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

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

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

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

كانت هذه بعض العيوب و يمكنك الإطلاع على هذا المقال لمعرفة المزيد حولها :
عيوب flutter

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

تعليقات