tgoop.com/Programmer_of_the_Arab_world/74
Last Update:
إذا كنت مبرمج تطبيقات هواتف ذكية او تفكر في الدخول للمجال، ستكون قد سمعت عن لغة برمجة dart وبيئة عمل flutter 💙
منشور سأذكر لك أهم الميزات والعيوب من خبرتي لمساعدتك على الإختيار
#برمجة #فلاتر_بالعربي
#Flutter
#dart
قبل ما نبدأ ، إذا كنت مهتم بالبرمجة وخصوصًا flutter و dart وبرمجة تطبيقات الهاتف لا تنسى تعمل متابعة للحساب والمحتوى اللي فيه 😊
----------------------------------------------------------------------------------
طبعًا كمبرمج، تحتاج تعرف قبل ما تبدأ تتعلم تقنية جديدة الكثير من المعلومات المتعلقة بهذه التقنية، أشياء مثل الإمكانيات، الحدود، العوائق والتطبيقات والمكاتب المترافقة مع هذه التقنية، هذه الأشياء هي السبب الرئيسي اللي بيدفعك تستثمر وقتك في تعلم التقنية أو اللغة
نبدأ بالميزات:
1- إعادة التحميل السريعة – Hot Reload
واحدة من أهم الميزات في flutter هو قدرة البرنامج على إعادة بناء نفسه بسرعة وقت عملية التطبيق وال Debug – يعني تغيير شكل الواجهات ، الألوان، وأماكن العناصر يتم بسرعة جبارة مقارنة بالجافا )أجزاء من الثانية)
مما يقلل من الوقت الضائع في إنتظار تشغيل البرنامج.
2- العمل على منصتي الاندرويد والIOS (بشكل أسهل)
كثير من بيئات العمل توفر القدرة على عمل تطبيقات تعمل على المنصتين، لكن في الفلاتر يكون الامر أسهل بكثير، فالفلاتر يوفر العديد من العناصر التي تطابق ما يمكن برمجته في المنصات الأساسية
وجدير بالذكر انه الفلاتر يوفر عناصر تدعم الMaterial Design Principles و كذلك ال Cupertino (IOS – Style)
3- العمل بلغة دارت:
لغة برمجة dart من اللغات المحببة لي هذه الفترة بعد تجربتها وتعلم إستخدامها، من ميزات اللغة أن منحنى التعلم فيها بسيط وفيها الكثير من الأمور المميزة التي جعلت جوجل تقوم ببناء بيئة العمل فلاتر عليها، حتى ما اخوض كثير في الدارت يمكن القول أنها لغة مشابه للجافا والسي شارب لكن مع بعض الاختلافات الطفيفة
4- الـ Widgets او العناصر
العناصر او الWidget يعتبر المكون الأساسي لكل شي في تطبيقات فلاتر (تقريبًا)، بداية من التطبيق نفسه ويعتبر عنصر نهاية بالازرار والاعمدة والصفوف والقوائم. والجميل في الفلاتر انه عدد العناصر فيه كبيرة جدًا وكذلك من السهل عمل عناصر خاصة بك، مقارنة ببعض بيئات العمل التي لا توفر نفس العدد من العناصر مع البيئة نفسها
5- اختلاف الشكل على حسب النظام الذي يعمل عليه الكود
في الفلاتر يمكنك بكل بساطة تحديد نوع الجهاز قبل البدء بعملية إظهار الواجهات حتى تعطي الواجهة نفس الشكل الذي يتمتع به التطبيق الحقيقي
عن طريق استخدام دوال مثل Platform.isIOS أو Platform.isAndroid
يجعل من الممكن إستعمال كود واحد يحمل طابعين مختلفين بأقل عدد ممكن من التعديلات
6- ( مجتمع الفلاتر وجوجل)
تم تصنيف الفلاتر في المركز الثالث في ترتيب أشهر ال Repos في Github لعام 2019، وكذلك واحدة من اكثر عشر مشاريع مفتوحة المصدر سرعة في الانتشار، وبرغم عمرها الصغير فهو مشروع مبشر بخير والمكتبات التي توفر حلول جديدة يتم إضافتها بإستمرار، ومن رأيي الشخصي اظن انه يستحق التعلم، لا ننسى أيضًا دعم جوجل لها !
--------------------------------------------------------------------------------
طبعًا نجي للإشياء اللي ممكن نعتبرها عيوب في الفلاتر ولازم نذكرها عشان نوزن الفكرة ونشوف هل الموضوع يستاهل التعلم ولا لا
1- دعم الموبايل فقط للProduction
برغم أن العمل قائم على جعل بيئة عمل فلاتر تدعم الويب، وسطح المكتب، لكن الى الان الموضوع لا زال في طور الbeta
لذلك إلى أن يتم الإعلان عن نسخة ثابتة وقادرة على إصدار تطبيقات سطح مكتب وويب جاهوى للاطلاق في سوق العمل، اعتبر هذه النقطة شيء سيء مقارنة بلغة مثل الJavaScript
2- الكود المصدري الواحد
يختلف الفلاتر عن لغات البرمجة الباقية مثل الويب والاندرويد عن أنه الكود يكون في مكان واحد ومافي لغة منفصلة تكون مسؤولة عن الواجهات أو UI
يعني في الفلاتر لا وجود للXML , HTML, CSS
وكله يكون مكتوب بلغة الdart
قد تكون هذه نقطة مزعجة للبعض ولكن عن نفسي قدرت اتأقلم مع الموضوع مع الممارسة، وجدير بالذكر أن React Native يعاني من نفس الإشكالية
3- ترتيب شجرة العناصر او الWidget Tree
مثل ماذكرنا بالميزات أنه كل شي يمكن التعبير عنه بعنصر، والعناصر ممكن تتشعب داخل بعضها البعض بشكل هرمي مما يصعب أحيانا قراءة الكود، مقارنة بالXML في الاندرويد، من المهم تعلم طرق ترتيب بسيطة من البداية علشان ما تنتهي بكود عملاق ما تعرف تقراءه
4- State management
واحدة من النقاط الصعب شرحها في هذا الموضوع، لكن ببساطة..
BY مبرمجين الوطن العربي
Share with your friend now:
tgoop.com/Programmer_of_the_Arab_world/74