إصدار محرك JavaScript المضمن Duktape 2.4.0

نشرت إطلاق محرك جافا سكريبت شريط دوكتيب 2.4.0، بهدف التضمين في قاعدة التعليمات البرمجية للمشاريع بلغة C/C++. المحرك صغير الحجم وسهل الحمل للغاية ومنخفض استهلاك الموارد. الكود المصدري للمحرك مكتوب بلغة C و الانتشار بموجب ترخيص معهد ماساتشوستس للتكنولوجيا.

يستهلك كود Duktape حوالي 160 كيلو بايت ويستهلك 70 كيلو بايت فقط من ذاكرة الوصول العشوائي، وفي وضع استهلاك الذاكرة المنخفض 27 كيلو بايت من ذاكرة الوصول العشوائي. لدمج Duktape في كود C/C++ يكفي أضف ملفات duktape.c وduktape.h إلى المشروع واستخدمها واجهة برمجة تطبيقات Duktape لاستدعاء وظائف JavaScript من كود C/C++ أو العكس. لتحرير الكائنات غير المستخدمة من الذاكرة، يتم استخدام أداة تجميع البيانات المهملة مع أداة الإنهاء، المبنية على أساس المجموعة الخوارزمية حساب الارتباط باستخدام خوارزمية وضع العلامات (Mark and Sweep). يتم استخدام المحرك لمعالجة JavaScript في المتصفح نت سيرف.

يوفر التوافق الكامل مع مواصفات Ecmascript 5.1 والجزئي دعم Ecmascript 2015 و2016 (E6 وE7)، بما في ذلك دعم كائن الوكيل للمحاكاة الافتراضية للخاصية، والمصفوفات المكتوبة، وArrayBuffer، وNode.js Buffer، وEncoding API، وكائن الرمز، وما إلى ذلك. وهو يشتمل على مصحح أخطاء مدمج ومحرك تعبير عادي ونظام فرعي لدعم Unicode. يتم أيضًا توفير ملحقات محددة، مثل دعم coroutine وإطار عمل التسجيل المدمج وآلية تحميل الوحدة المستندة إلى CommonJS ونظام التخزين المؤقت للرمز الثانوي الذي يسمح لك بحفظ وتحميل الوظائف المترجمة.

في الإصدار الجديد مُنفّذ استدعاءات جديدة لـ duk_to_stacktrace() وduk_safe_to_stacktrace() للحصول على تتبعات المكدس، وduk_push_bare_array() لإضافة مثيلات مصفوفة مستقلة. تم نشر الدالتين duk_require_constructable() وduk_require_constructor_call() للعامة. تحسين التوافق مع مواصفات ES2017. تم تحسين العمل مع المصفوفات والكائنات. تمت إضافة خيار "--no-auto-complete" إلى واجهة duk CLI لتعطيل إكمال الإدخال.

المصدر: opennet.ru

إضافة تعليق