هل حان الوقت للإنتقال الى Dart و Flutter ؟
هل حان الوقت للإنتقال الى Dart و Flutter ؟

هل حان الوقت للإنتقال الى Dart و Flutter ؟

هل حان الوقت للإنتقال الى Dart و Flutter ؟

منذ ثمان سنوات ، كشفت Google النقاب عن لغة Dart ، وهي لغة برمجة للأغراض العامة. الإصدار 1.0 ، الذي تم إصداره في أواخر عام 2013 ، كان يعني استبدال JavaScript في المتصفحات ؛ لدى دارت الماكنية الافتراضية الخاصة بها (VM) لتشغيل التطبيقات الاصلية (native) في متصفح Chrome.

بناء الكود في لغة Dart يشبه لغة  C ، مما يعني أن المطورين الذين اعتادوا على C ++ و Java و JavaScript يجب أن يشعروا (من الناحية النظرية) أنه في منزلهم. بالإضافة إلى ذلك ، أضاف مهندسو دارت الوراثة و دعم SIMD (لاحقًا) لزيادة الإنتاجية.

والسؤال الكبير هو ما إذا كانت غوغل تعتزم الإعتماد على دارت في الأصل وتستبدل جافا سكريبت (قيل إن مهندسي جوجل شعروا بالإحباط في العمل على قواعد اكواد جافا سكريبت الضخمة في Gmail و Google Maps ، وبدأوا العمل على لغة بديلة). حتى أن الشركة أصدرت “Dartium” ، وهو متصفح يستند إلى Dart ، ربما مع التركيز في النهاية على استبدال Chrome. مهما كانت نوايا Google (وعلى الرغم من الدفعة التسويقية الضخمة التي تستهدف المحترفين التقنيين) ، ما زال المطورون يفضلون الالتزام بجافا سكريبت. (على الرغم من أن Google لم تطلق مطلقًا اسم دارت على أنه “قاتل جافا سكريبت” ، فقد كان هذا هو الاسم الذي ربطته بعض وسائل الأخبار.) .

لكن ذلك لم يكن نهاية لغة دارت. في الواقع ، قد يكون ذلك هو الصعود للغة ، وذلك بفضل ظهور Flutter  إطار عمل واجهة المستخدم (UI framework) من Google لبناء واجهات أصلية في iOS و Android. فقد قالت جوجل في تدوينة سابقة  “لقد قمنا بتركيب Flutter لنكون قادرين على دعم الرسومات الخالية من الأخطاء والخلل وزيادة السرعة الأصلية لجهازك”. “يتم تشغيل كود Flutter بواسطة نظام Dart ذو المستوى العالمي ، والذي يتيح إمكانية التجميع لكود ARM (بنية المعالجات) الأصلي 32 بت و 64 بت لنظامي iOS و Android.”.

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

قامت غوغل بإنشاء Google Fuchsia (نظام تشغيل مفتوح المصدر) بواسطة لغة Dart ، ومن المحتمل أن يتم تشغيل Google Home Hub الذي تم تقديمه مؤخرًا في Fuchsia في المستقبل. فهل سيحل Fuchsia في النهاية مكان نظام Android؟ إنه سؤال أصعب بكثير ، حيث أن القاعدة الهائلة لنظام Android تجعل من الصعب التخلص منه.

 

شاهد ايضاً  افضل7 لغات برمجة يجب عليك تعلمها في 2020

 

Dart 2.0

 

يحب بعض المطورين المقارنة بين Dart و Swift ، وهي أحدث لغة برمجة من Apple (المصممة لتحل محل Objective-C  والتي كانت لغة الانتقال إلى تطبيقات iOS و macOS لأكثر من ثلاثة عقود).

شهد أوائل عام 2018 إصدار نسخة Dart 2.0 ، والذي تضمن تحسينات على تطوير جانب ال Client، بما في ذلك الكتابة القوية و “واجهة المستخدم كـ كود” (أي ، إلغاء الحاجة إلى تبديل السياق ، بحيث لا يحتاج المطورون إلى الاستمرار في التقلب بين لغة البرمجة وتبويب علامات UI المنفصلة).

بالنسبة للمبتدئين ، من السهل البرمجة في Flutter ، ويحب المطورين المتعطشين عمومًا فكرة تطوير برامج مشتركة لنظامي ios و Android عبر قاعدة كود واحدة. يدعم Flutter / Dart محررت IDEs مثل Visual Studio Code و Android Studio و Intellij Idea.

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

Flutter

يسمح Dart لـ Flutter بتحديث الشاشة بمعدل 60 أو حتى 120 إطارًا في الثانية (إذا كان الجهاز يدعمها) ، والتي تعد معدلات إطارات أكثر شيوعًا للألعاب. اعتمد Flutter أسلوبًا مشابهًا في المعمارية مع React Native من فيسبوك ، باستثناء أن اكواد Dart المترجمة تتعامل مباشرة مع وحدات البكسل. يقوم بذلك من خلال عناصر واجهة المستخدم الخاصة به ، وليس تلك المتوفرة في iOS أو Android.
كان هناك قول مشهور منذ عشرين عامًا أن “كل شيء في Windows هو نافذة” ، وفي Flutter ، نفس الشيء : “كل شيء عبارة عن عنصر واجهة مستخدم“. بالنسبة لنظام iOS ، يتضمن Flutter Cupertino ، مجموعة من عناصر واجهة المستخدم لعناصر تحكم iOS-look-alike.