عن المشروع

ChakraCore هو محرك جافاسكربت مفتوح المصدر يكشف عن واجهة برمجة تطبيقات بلغة C، مما يتيح للمطورين إضافة دعم جافاسكربت إلى أي مشروع متوافق مع C أو C++. نشأ كمحرك خلف Microsoft Edge، وهو الآن يُدار كمشروع مجتمعي تحت رخصة MIT. دعم المنصات: يمكن تجميع ChakraCore لمعالجات x64 على Linux وmacOS وWindows، ولمعالجات x86 وARM على Windows فقط. يُذكر دعم x86/ARM على Linux وARM على macOS كهدف مستقبلي. حالة المشروع: لم يعد Microsoft Edge يستخدم Chakra، وقد قدمت Microsoft تحديثات أمنية لـ ChakraCore 1.11 فقط حتى 9 مارس 2021. يُخطط لاستمرار المشروع كمجهود مجتمعي يستهدف بشكل رئيسي حالات الاستخدام المضمنة، مع وثائق تخطيط منشورة ترسم إصدار 1.12 المستقبلي. يتم تنسيق المجتمع عبر مشاكل GitHub وخادم Discord. الاستخدام: بعد البناء، يمكن اختبار المحرك باستخدام ch (ch.exe على Windows)، وهو تطبيق مضيف خفيف لتشغيل برامج جافاسكربت صغيرة. الحالة الرئيسية للاستخدام هي تضمين ChakraCore مباشرة في التطبيقات عبر واجهة JSRT (JavaScript Runtime)، مع توثيق تضمين رسمي وعينات متاحة. يمكن أيضًا تثبيته من خلال مدير الاعتماديات vcpkg مع تكامل CMake (vcpkg install chakracore). ملاحظة مهمة حول النطاق: ChakraCore هو محرك جافاسكربت فقط. لا يتضمن واجهات برمجة التطبيقات الخارجية التي يوفرها متصفح الويب أو Node.js، مثل واجهات DOM مثل document.write(). يجب على التطبيقات التي تضمين المحرك تنفيذ واجهات الإدخال والإخراج الخاصة بها؛ يوفر مضيف ch دالة print() للإخراج إلى الطرفية. البناء: على Windows، يُبنى باستخدام Visual Studio 2015 أو 2017 (مع دعم C++) عبر حل Chakra.Core.sln. على macOS، يُبنى باستخدام أدوات سطر أوامر Xcode وCMake. على Linux، يُبنى باستخدام CMake وNinja. تتوفر أيضًا ثنائيات مُجمّعة مسبقًا. يشمل التوثيق نظرة عامة على البنية، ودليل بدء سريع للتضمين، ومرجع كامل لواجهة JSRT API، وإرشادات المساهمة، ومجموعة من المدونات والمحاضرات وموارد أخرى. تُرحب المساهمات على شكل تقارير أخطاء والتحقق من الإصلاحات وطلبات الدمج. تم التعامل مع مشاكل الأمان في فرع 1.11 من خلال قناة الإبلاغ الخاصة بـ Microsoft، بينما تُبلّغ المشاكل الموجودة فقط في الفرع الرئيسي بشكل خاص لأعضاء الفريق الأساسي عبر Discord.