Deno 1.0 ، منصة JavaScript الآمنة لـ Node.js

تم إصدار مطوري Node.js مؤخرا اطلاق ال .. انطلاق ال .. اقلاع ال أول نسخة مهمة من Deno 1.0 تحديث الذي يأتي بعد عامين من التطوير. هذا هو منصة للتنفيذ المنفصل لتطبيقات JavaScript و TypeScript، والتي يمكن استخدامها لإنشاء وحدات تحكم تعمل على الخادم. ليس إنه ليس فرعًا من Node.js ، بل هو مشروع جديد تم إنشاؤه من البداية.

مثل Node.js و Deno يستخدم محرك V8 JavaScript، والتي تُستخدم أيضًا في المتصفحات القائمة على Chromium.  الدافع الرئيسي لإنشاء منصة جافا سكريبت الجديدة كانت الرغبة في إزالة الأخطاء المفاهيمية التي حدثت في بنية Node.js وتزويد المستخدمين ببيئة أكثر أمانًا.

لزيادة الأمان ، تمت كتابة الرابط حول محرك V8 بلغة Rust ، يؤدي هذا إلى تجنب العديد من الثغرات التي تنشأ بسبب العمل منخفض المستوى مع الذاكرة ، مثل الوصول إلى منطقة الذاكرة بعد تحريرها ، والإشارة إلى المؤشرات الفارغة ، والخروج من حدود المخزن المؤقت.

يتم توزيع رمز المشروع بموجب ترخيص معهد ماساتشوستس للتكنولوجيا (MIT) ولديه مجموعات مُعدّة لأنظمة Linux و Windows و macOS.

ما الجديد في Deno 1.0

هذا الإصدار الجديد من المنصة ، تم تمييز تثبيت API في مساحة الاسم Denoوالتي هي مسؤول عن تفاعل التطبيقات مع نظام التشغيل. يتم إخفاء واجهات البرامج غير المستقرة بشكل افتراضي ولا تتوفر إلا عند بدء التشغيل في الوضع غير المستقر.

مع تكوين إصدارات جديدة ، ستصبح واجهات برمجة التطبيقات هذه مستقرة تدريجيًا. واجهة برمجة التطبيقات في مساحة الاسم العالمية ، والتي تتضمن وظائف مشتركة مثل setTimeout () و fetch () ، هي أقرب ما يمكن إلى واجهة برمجة التطبيقات لمتصفحات الويب الشائعة ويتم تطويرها وفقًا لمعايير الويب للمتصفحات. واجهات برمجة التطبيقات Rust التي يتم استخدامها مباشرة في رمز النظام الأساسي ، وكذلك واجهة تطوير المكونات الإضافية لوقت تشغيل Deno ، ليست مستقرة بعد وتستمر في التطور.

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

من ناحية أخرى ، ورد في الإعلان عن الإصدار الجديد أن دعم أصلي لـ TypeScript بالإضافة إلى JavaScript. للتحقق من الأنواع وإنشاء JavaScript ، يتم استخدام مترجم TypeScript القياسي ، مما يؤدي إلى انخفاض الأداء مقارنة بتحليل JavaScript في V8. في المستقبل ، نخطط لإعداد تطبيقنا الخاص لنظام فحص نوع TypeScript ، والذي سيسمح لنا بزيادة أداء معالجة TypeScript بشكل كبير.

يأتي وقت التشغيل في شكل ملف تنفيذي واحد مستقل ("ليس"). لتشغيل التطبيقات باستخدام Deno ، يكفي تنزيل ملف قابل للتنفيذ لمنصتك ، بحجم 20 ميغابايت تقريبًا ، بدون تبعيات خارجية ولا يتطلب أي تثبيت خاص على النظام. في الوقت نفسه ، لا يعد deno تطبيقًا مترابطًا ، ولكنه مجموعة من حزم الصناديق في Rust (deno_core، rusty_v8) يمكن استخدامها بشكل منفصل.

بالإضافة إلى وقت التشغيل ، النظام الأساسي يعمل Deno أيضًا كمدير للحزم ويسمح بالوصول إلى الوحدات عن طريق عنوان URL داخل الكود. يتم تخزين الملفات التي تم تنزيلها من خوادم خارجية بواسطة URL مؤقتًا. يتم تحديد ارتباط إصدارات الوحدة النمطية من خلال إرشادات رقم الإصدار الموجودة في عنوان URL.

من الابتكارات الأخرى التي تبرز هذا الإصدار 1.0:

  • المعالجة الفعالة لطلبات شبكة HTTP في التطبيقات ، تم تصميم النظام الأساسي لإنشاء تطبيقات شبكة عالية الأداء.
  • القدرة على إنشاء تطبيقات ويب عالمية يمكن تشغيلها في كل من Deno ومتصفح الويب العادي.
  • وجود مجموعة معيارية من الوحدات ، لا يتطلب استخدامها الارتباط بالتبعيات الخارجية. تم أيضًا مراجعة واختبار الوحدات في المجموعة القياسية للتأكد من توافقها.
  • إطار العمل هو نظام متكامل لفحص التبعية (أمر "deno info") وأداة لتنسيق الكود (deno fmt)
  • يمكن دمج جميع البرامج النصية للتطبيق في ملف JavaScript واحد.

مصدر: https://deno.land


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.