txiki.js: بيئة تشغيل صغيرة تعتمد على QuickJS لبرمجة النظام
txiki.js، بواسطة ساول إيبرا كوريتجي، هو بيئة تشغيل جافا سكريبت صغيرة لتنفيذ السكربتات خارج المتصفح مع بصمة صغيرة. إنه يشغل كود ES2023 الحديث ويربط الإدخال/الإخراج غير المتزامن من خلال libuv لدعم الشبكات، والوصول إلى نظام الملفات، وخيوط العمل للمهام على مستوى النظام. تسهل دوال fetch وConsole وTimers والوحدات الأصلية ES كتابة السكربتات المودولارية، مما يجعلها مناسبة للمطورين الذين يبنون أدوات مدمجة، وأدوات سطر الأوامر، ونشر ذاكرة منخفضة.
ماذا يفعل txiki؟
txiki هو بيئة تشغيل سطح مكتب مدمجة تقوم بتنفيذ كود ECMAScript خارج المتصفح من خلال دمج محرك QuickJS مع libuv لإدخال/إخراج غير متزامن. يوفر وحدات ES الأصلية، وواجهات برمجة التطبيقات الشائعة مثل fetch وConsole وTimers، بالإضافة إلى الوصول إلى نظام الملفات، ومآخذ TCP/UDP، وخيوط العمل، ومعالجة الإشارات، والتحكم في العمليات الفرعية. تشمل الاستخدامات العملية الخوادم الصغيرة، وأدوات سطر الأوامر، والبرامج النصية التي يجب أن تعمل بحجم ثنائي صغير جداً.
هل يبطئ نظامك أثناء تشغيل البرنامج النصي؟
توجهات تأثير الموارد منخفضة للمهام القصيرة لأن المشروع يركز على حجم ثنائي صغير وبدء تشغيل شبه فوري. تستخدم بيئة التشغيل libuv لإدخال/إخراج غير متزامن بحيث لا تسيطر عمليات الشبكة والملفات على الخيط الرئيسي. توقع استخدام ذاكرة أقل من بيئات التشغيل المعتمدة على V8، على الرغم من أن سرعة التنفيذ الخام للأعمال المعتمدة على وحدة المعالجة المركزية تكون عادة أقل من V8، لذا قد تشهد العمليات الطويلة والثقيلة في الحساب انخفاضاً في الإنتاجية.
هل من الآمن استخدامه على آلات الإنتاج؟
تعتمد سلامة التشغيل على نموذج النشر الخاص بك حيث يتم وصف المشروع بأنه تجريبي وهواية ويفتقر إلى تدقيق الأمان على مستوى النظام البيئي مقارنةً ببيئات التشغيل الأكبر. يوفر txiki خيوط عمل، ومعالجة إشارات، وواجهات برمجة التطبيقات للعمليات الفرعية التي تسمح بالتكامل العميق مع النظام، لذا قم بتشغيله في بيئات محكومة، وتحقق من وحدات الطرف الثالث، وقم بإعداد النشر قبل الاستخدام الواسع في الإنتاج لتقليل المخاطر.
هل أحتاج إلى معرفة تقنية لتشغيل txiki؟
تتطلب معظم سير العمل مهارات مطور لأن البناء من المصدر يحتاج إلى مترجم C وCMake، ويجب تحويل TypeScript إلى JavaScript قبل التنفيذ. فقط حزم JavaScript النقية التي لا تعتمد على المكونات المدمجة الخاصة بـ Node متوافقة، ويجب أن يكون المطورون مرتاحين مع تنسيقات الوحدات وسلاسل الأدوات لتجنب مشكلات التوافق عند حزم أو نشر البرامج النصية.
توصية عملية للمطورين الذين يحتاجون إلى وقت تشغيل منخفض التكلفة
txiki هو خيار عملي للمطورين الذين يحتاجون إلى وقت تشغيل JavaScript الحد الأدنى لمهام النظام قصيرة الأجل والأدوات الصغيرة، مع تنازل في حجم النظام البيئي وتغطية التدقيق مقارنةً بأوقات التشغيل الأكبر. اختبر الوحدات الخارجية في بيئة اختبار ويفضل استخدامها للأدوات التي تبدأ وتتوقف بشكل متكرر بدلاً من وظائف الحوسبة طويلة الأمد. موصى به.