إصدار منصة Deno JavaScript 1.16

تم إصدار منصة Deno 1.16 JavaScript، وهي مصممة للتنفيذ المستقل (بدون استخدام متصفح) للتطبيقات المكتوبة بلغة JavaScript وTypeScript. تم تطوير المشروع بواسطة مؤلف Node.js ريان دال. كود النظام الأساسي مكتوب بلغة برمجة Rust ويتم توزيعه بموجب ترخيص MIT. يتم إعداد الإصدارات الجاهزة لنظام التشغيل Linux وWindows وmacOS.

يشبه المشروع منصة Node.js ويستخدم، مثله، محرك JavaScript V8، ومع ذلك، وفقًا لمؤلف Node.js، فإنه يصحح عددًا من العيوب المعمارية لسابقه ويختلف عنه في الفروق الدقيقة التالية :

  • استخدام Rust كلغة رئيسية، والتي، وفقًا للمطورين، تقلل من مخاطر الثغرات الأمنية المرتبطة بإدارة الذاكرة ذات المستوى المنخفض (تجاوز سعة المخزن المؤقت، والاستخدام بعد الاستخدام المجاني، وما إلى ذلك)؛
  • لا يستخدم Deno مدير الحزم npm وpackage.json، ويطالب المستخدم بتثبيت الوحدات عن طريق تحديد عنوان URL أو المسار إلى الوحدة المراد تثبيتها. ومع ذلك، يقدم المشروع العديد من الأدوات المساعدة لتبسيط العمل مع وحدات الطرف الثالث؛
  • تعمل التطبيقات بشكل منفصل في وضع الحماية ولا يمكنها الوصول إلى الشبكة ومتغيرات البيئة ونظام الملفات، دون منح أذونات صريحة؛
  • توفر البنية القدرة على إنشاء تطبيقات ويب عالمية يمكنها العمل في نظام Deno وفي المتصفح العادي؛
  • استخدام "وحدات ES" ويفتقر إلى دعم require();
  • أي أخطاء في تطبيق ويب لا يعالجها المبرمج تؤدي إلى إنهائه القسري؛
  • دعم TypeScript بالإضافة إلى JavaScript؛
  • الحجم الكامل للمنصة الجاهزة للاستخدام هو 84 ميجابايت (في أرشيف مضغوط - 31 ميجابايت) في شكل ملف واحد قابل للتنفيذ؛
  • توفر المجموعة نظامًا لحل التبعيات ورمز التنسيق؛
  • التركيز على التطبيقات عالية الأداء.

تقوم Dino بمعالجة الطلبات بطريقة غير محظورة باستخدام منصة Tokio، المصممة لبناء تطبيقات عالية الأداء تعتمد على بنية تعتمد على الأحداث. ومن المثير للاهتمام أيضًا أن خادم HTTP المدمج في Deno يتم تنفيذه في TypeScript أعلى مآخذ TCP الأصلية، مما له تأثير إيجابي على أداء عمليات الشبكة.

ملاحظات الإصدار الجديد:

  • تحسين الأداء (4 تصحيحات)؛
  • تم إصلاح أكثر من 15 خطأ، على وجه الخصوص، يدعم عميل TLS الآن HTTP/2، ويدعم النظام الفرعي للتشفير علامات الترميز الإضافية، وما إلى ذلك؛
  • أكثر من عشرين ابتكارًا، يمكننا ملاحظة استقرار الأنظمة الفرعية التي تم اختبارها مسبقًا Deno.startTls وDeno.TestDefinition.permissions، وتحديث محرك V8 JS إلى الإصدار 9.7 ودعم تحويلات React 17 JSX.

المصدر: opennet.ru

إضافة تعليق