Search

مدونة احمد الصادق للتصميم

www.ahmedalsadek.com

تطوير تطبيقات الهاتف الذكي بواسطة Flutter

تطوير تطبيقات الهاتف الذكي بواسطة Flutter

 تطوير تطبيقات الهاتف الذكي بواسطة Flutter

 

 

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

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

 

 

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

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

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

مميزات برنامج فلاتر Flutter.

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

 

 

ما هو فلاتر Flutter؟
هو SDK (مجموعة من أدوات تطوير البرمجيات التي تسمح بإنشاء برمجيات تطبيقية لحزمة برامج معينة) قامت شركة جوجل بإطلاقه في مطلع عام 2017 لبرمجة تطبيقات الهواتف الذكية العاملة بنظام الاندرويد وال IOS، يوفر إطار عمل شامل بلغة Dart مخصص لرسم الواجهات بجودة عالية وتطبيقات أصلية بأداء ممتاز وفي نفس الوقت يعطي للمطور الأدوات التي تجعله يبني تطبيقات كاملة في أقل وقت، وقد حقق نجاحاً كبيراً جداً وقامت العديد من الشركات العالمية بالاعتماد عليه في برمجة وتطوير تطبيقاتها مثل برنامج Google AdWords الشهير، وشركة BMW للسيارات، وكذلك متجر Alibaba ومتجر eBay وغيرهم الكثير والكثير .

لماذا لغة دارت Dart؟
دارت هي لغة برمجة كائنية التوجه ظهرت في سنة 2011 وتم برمجتها من قبل شركة جوجل كمحاولة لم تكن ناجحة لاستبدال لغة JavaScript ومع ذلك فهي توفر الخصائص المناسبة التي يحتاجها Flutter لكي ينمو بشكل صحيح حيث تتمتع لغة dart بمايلي:

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

يتحكم فريق Flutter بشكل كامل في لغة Dart فمثلاً تم جعل كلمة new "التي سيتعرف عليها مبرمج Java و #C " كلمة اختيارية فقط لكي يتم تحسين طريقة كتابة الواجهات.

أثناء البرمجة تستخدم لغة Dart مترجم (JIT : Just in time) والتي بفضلها ظهرت خاصية Hot Reload، وهي أنه عند تغير الكود يتم إرسال فقط البايتات التي تم تغييرها بالتالي حصل التغير في برنامجك في أقل من ثانية ويبقى محافظاً على حالته .

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

يمكن ترجمة لغة Dart إلى JavaScript محسنة الأداء وهذا ما يجعل عمل تطبيقات ويب بواسطة Flutter أمراً ممكناً.

لغة Dart تم صنعها لكي تكون سهلة لمبرمج JavaScript ومبرمجي Java و# C أيضاً

 

 

الجمع بين تجربة المستخدم وتجربة المطور؟
تجربة المطور:
أهم ما يميز تطبيقات الهواتف الذكية أنها عبارة عن واجهة تعبر عن المصمم أو الشركة، لذلك التصميم يجب أن يكون عصري وجميل وتحصل على هذه التصاميم المميزة مع Flutter لأن لديك حرية رسم بكسل على الشاشة.
Flutter هو عبارة عن إطار عمل ولست ملزماً بأداة معينة فهو متاح لكل من أندرويد ستوديو+ intellij idea + VS Code.
مناسب جداً للأشخاص الذين لديهم خلفية في الويب بسبب ميزة Hot Reload والتي تجعل من دورة حياة تطوير التطبيق سريعة جدا، لأنك إذا قمت بتغيير ما على الكود لن تنتظره وقتاً طويلاً لكي ترى النتيجة.
التثبيت سهل جداً لأن Flutter عبارة عن حزمة مضافة على ال GitHub، وبالتالي التحميل والتحديث والانتقال بين الفروع يكون عبر أوامر الـ git فقط.

 

 

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

 

 

مميزات Flutter:
يوجد عدد كبير من المميزات الأساسية التي تجعلك إطار العمل Flutter دوناً عن باقي برامج برمجة التطبيقات ولنستعرض معاً أهم هذه الميزات:

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

 

 

فلاتر ضد بقية المنافسين في السوق؟
حتى أقنعك بالفكرة التي أطرحها لابد من دراستها في عدة نقاط مقارنة بالتطبيقات المماثلة والتي تؤدي نفس المهمة في عالم البرمجيات ولنرى Flutter أمام منافسيه هل سيربح التحدي؟!!

 

 

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

React Native

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

Xamarin

يتم كتابة البرنامج بلغة # C والتصميم يكون بـ XAML.

Ionic

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

Flutter

كتابة وتصميم الواجهات تكون كلها بلغة Dart

 

 

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

React Native

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

Xamarin

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

Ionic

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

Flutter

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

 

 

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

React Native

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

Xamarin

تحتاج تعلم لغة # C ولغة التصميم XAML.

Ionic

تحتاج تعلم تقنيات الويب الأساسية.

Flutter

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

 

 

إلى ماذا يتم ترجمة تطبيقك؟

React Native

لا يتم الترجمة يتم تشغيل الكود على جافا سكربت VM.

Xamarin

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

Ionic

يشتغل التطبيق على حاوية أي تطبيق أصلي يحتوي على متصفح مخفي.

Flutter

يتم الترجمة عن طريق مترجم AOT إلى تطبيق أصلي.

 

 

ما هو حجم المجتمع الذي يستخدم هذه التقنيات؟

React Native

يتم استخدامه في تطبيقات كبيرة مثل فيسبوك بالإضافة لكون شركة فيسبوك خلف تطويره.

Xamarin

يتم دعمه بواسطة مجتمع # C الكبير جداً بالإضافة لأنه أصبح مجاني ومفتوح المصدر بعد استيلاء Microsoft عليه مما زاد شعبيته أكثر.

Ionic

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

Flutter

مع أنه جديد في الساحة إلى أن المصادر أصبحت كثيرة ودخل في قائمة أشهر مئة مشروع على GitHub بالإضافة إلى تزايد شعبيته على Stack Over Flow والأهم من ذلك أن شركة جوجل خلفه والتي تتحكم بجزء كبير من سوق الأندرويد.

للتواصل وطلبات التصميم
info@ahmedalsadek.com

دعم 24 ساعه

للشكاوي والدعم الفني
info@ahmedalsadek.com
sales@ahmedalsadek.com
support@ahmedalsadek.com

للاتصال المباشر

اتصل مباشرة على
00201020304465
00201010304863
00971555724663

اوقات العمل

نحن نعمل جميع ايام الاسبوع ما عدا الجمعه من الساعه 8 صباحا الى الساعه 10 مساء - الوقت اللازم لتصميم الشعار 3 ايام والوقت اللازم للهوية 3 ايام ..

ملاحظة مهمه

لما شاهدناه من محاولات لاشخاص ينتحلون شخصية موظفون لدينا فنحن غير مسؤولين على اي اتفاق مع اي شخص يحمل رقم غير الارقام المذكوة على الموقع .. شكرا لكم

اتصل بنا
Image

خبرة تزيد عن 20 عام - اسعار مميزة - دعم فني سريع - تصاميم احترافية للشركات والمكاتب والاشخاص ومتخصصين فى مجال تصميم الشعارات وتصميم الهوية وتصميم وبرمجة مواقع الويب الالكترونية وبخبرة السنوات نحن نقدم إليك أفضل الحلول وأكثرها تميزاً.

Mob : 00201020304465
Mob : 00201010304863
Whatsaap : 00971555724663
E-mail : info@ahmedalsadek.com
E-mail : ceo@ahmedalsadek.com