إطلاق لغة البرمجة Dart 2.8

يأخذ مكانا إصدار لغة البرمجة دارت 2.8، الذي يواصل تطوير فرع Dart 2 المعاد تصميمه بشكل جذري، مع إعادة التركيز على تطوير أنظمة الويب والهواتف المحمولة وتحسينه لإنشاء مكونات من جانب العميل.

تختلف Dart 2 عن لغة Dart الأصلية في استخدامها للكتابة الثابتة القوية (يمكن استنتاج الأنواع تلقائيًا، لذا فإن مواصفات الكتابة اختيارية، لكن الكتابة الديناميكية لم تعد مستخدمة ويتم تعيين النوع المحسوب في البداية إلى متغير ويتم التحقق الصارم من النوع تطبق لاحقا). لتطوير تطبيقات الويب تقدم مجموعة من المكتبات المحددة، مثل dart:html، بالإضافة إلى إطار عمل الويب Angular. يتم الترويج لإطار عمل لإنشاء تطبيقات الهاتف المحمول رفرفة، والتي على أساسها، من بين أمور أخرى، يتم إنشاء غلاف المستخدم لنظام تشغيل microkernel الجديد الذي يتم تطويره في Google فوشيا.

في الإصدار الجديد:

  • تمت إضافة وسيلة لاستخدام القيمة الخالية بأمان، مما يؤدي إلى كسر التوافق مع الإصدارات السابقة. على سبيل المثال، سيتم الآن طرح خطأ وقت الترجمة إذا جرت محاولة لتعيين القيمة "Null" لمتغير من نوع غير محدد، مثل "int". تم أيضًا فرض قيود على توافق المتغيرات مع الأنواع Nullable وغير Nullable، مثل "int؟" و"int" (يمكن تعيين متغير من النوع "int" لمتغير من النوع "int"، ولكن ليس العكس). الأمر نفسه ينطبق على المتغيرات التي يتم إرجاعها في عبارة "return" - إذا لم يتم تعيين قيمة لمتغير من نوع لا يسمح بالحالة "Null" في نص الدالة، فسيعرض المترجم خطأ. ستسمح لك هذه التغييرات بتجنب الأعطال الناجمة عن محاولات استخدام متغيرات قيمتها غير محددة وتم ضبطها على "Null".
  • مخزن pub.dev تجاوزت علامة 10 آلاف حزمة. كجزء من دورة التزويد Dart 2.8، تم تحسين أداء استرداد الحزم من pub.dev بشكل ملحوظ من خلال دعم استرجاع الحزم في عدة سلاسل متوازية عند تنفيذ الأمر "pub get"، بالإضافة إلى الترجمة المسبقة البطيئة عند تنفيذ الأمر " أمر تشغيل الحانة". أظهر اختبار الأمر "pub get" لمشروع جديد قائم على Flutter انخفاضًا في وقت التشغيل من 6.5 إلى 2.5 ثانية، وبالنسبة للتطبيقات الأكبر مثل معرض Flutter، من 15 إلى 3 ثوانٍ.
  • تمت إضافة أمر "pub عفا عليه الزمن" الجديد للحفاظ على تحديث جميع التبعيات على الحزم المثبتة. باستخدام الأمر "pub outdated"، يمكنك تقييم ما إذا كانت هناك إصدارات رئيسية أحدث لجميع التبعيات المرتبطة بحزمة محددة، دون إجراء تغييرات على ملف pubspec. على عكس "pub Upgrade"، لا يتحقق الأمر الجديد من الإصدارات المطابقة لـ pubspec فحسب، بل يتحقق أيضًا من الفروع الأحدث. على سبيل المثال، بالنسبة لحزمة ذات تبعيات مثبتة "foo: ^1.3.0" و"bar: ^2.0.0"، سيؤدي تشغيل "pub outdated" إلى إظهار وجود كل من الفروع المتاحة والفروع الأحدث:

    التبعيات الحالية القابلة للترقية والحل الأحدث
    فو 1.3.0 1.3.1 1.3.1 1.3.1
    شريط 2.0.1 2.1.0 3.0.3 3.0.3

ميزات لغة Dart:

  • بناء جملة مألوف وسهل التعلم وهو أمر طبيعي لمبرمجي JavaScript و C و Java.
  • ضمان الإطلاق السريع والأداء العالي لجميع متصفحات الويب الحديثة وأنواع البيئات المختلفة، بدءًا من الأجهزة المحمولة وحتى الخوادم القوية؛
  • القدرة على تحديد الفئات والواجهات التي تسمح بتغليف وإعادة استخدام الأساليب والبيانات الموجودة؛
  • يؤدي تحديد الأنواع إلى تسهيل تصحيح الأخطاء واكتشافها ، ويجعل الكود أكثر وضوحًا وقابلية للقراءة ، ويسهل على مطوري الطرف الثالث تنقيحها وتحليلها.
  • تشمل الأنواع المدعومة: أنواعًا مختلفة من التجزئة، والمصفوفات والقوائم، وقوائم الانتظار، وأنواع الأرقام والسلاسل، وأنواع تحديد التاريخ والوقت، والتعبيرات العادية (RegExp). ربما خلق بنفسك أنواع؛
  • لتنظيم التنفيذ المتوازي، يُقترح استخدام الفئات ذات السمة المعزولة، والتي يتم تنفيذ الكود الخاص بها بالكامل في مساحة معزولة في منطقة ذاكرة منفصلة، ​​والتفاعل مع العملية الرئيسية عن طريق إرسال الرسائل؛
  • دعم استخدام المكتبات التي تعمل على تبسيط دعم وتصحيح مشاريع الويب الكبيرة. يمكن تضمين تطبيقات الطرف الثالث للوظائف في شكل مكتبات مشتركة. يمكن تقسيم التطبيقات إلى أجزاء وإسناد تطوير كل جزء إلى فريق منفصل من المبرمجين؛
  • مجموعة من الأدوات الجاهزة لدعم التطوير في لغة Dart، بما في ذلك تنفيذ أدوات التطوير الديناميكي وتصحيح الأخطاء مع التصحيح الفوري للكود ("التحرير والمتابعة")؛
  • لتبسيط التطوير في لغة دارت، يأتي مع SDK، مدير مجموعة حانة، محلل كود ثابت dart_analyzer، مجموعة مكتبات، بيئة تطوير متكاملة دارت باد والمكونات الإضافية التي تدعم Dart لـ فكرة IntelliJ، WebStorm, إيماكس, سامية النص شنومكس и همة;
  • يتم توزيع الحزم الإضافية مع المكتبات والأدوات المساعدة من خلال المستودع حانةوالتي تحتوي على أكثر من 10 آلاف حزمة.

المصدر: opennet.ru

إضافة تعليق