
Bez: محرك متصفح يُولَّد من المواصفات والاختبارات
مشروع Bez يولّد محرك متصفح من المواصفات بدل كتابته يدويًا: يكتب نموذج متغيرات من الكود، وتتحقق Chromium وFirefox وWebKit من النتيجة، وتُحفظ المتغيرات الفائزة ككود Rust عادي.
ما هو Bez
Bez مشروع يولّد محرك متصفح من المواصفات والاختبارات بدل كتابته يدويًا. بحسب المؤلفين، يتطلب بناء المحرك يدويًا مئات المهندسين وسنوات، لذلك لا يمكن إلا لشركات قليلة إنشاؤه، وهي وحدها تقرر كيف تعمل منصة الويب. في خط المعالجة، يكتب نموذج متغيرات كثيرة من الكود انطلاقًا من المواصفة؛ يُشغَّل كل منها في المحرك، وتُقارَن النتيجة بأكثر ثلاثة متصفحات استخدامًا (Chromium، Firefox، WebKit): هل الصناديق نفسها في المواضع نفسها؟ تُعاد المتغيرات المرفوضة إلى النموذج، أما المعتمدة فتُحفظ ككود Rust عادي. تُستخدم WPT كاختبارات، وبعد بناء خط المعالجة مرة واحدة يصبح كل محرك إضافي رخيصًا.
الحالة الحالية للمشروع
حتى 25 سبتمبر 2026 (browser-compat-data 8.0.4، 17 259 عنصرًا، 74 قاعدة) وُلِّد 0,6% من سطح الويب، وكُتب 0,3% يدويًا، ورُبط 0,5%، وغطّى 5,7% فحص مرجعي فقط، بينما 93,0% لم يُنجز بعد. CSS في المقدمة بنسبة 2,5%؛ أما HTML وJavaScript وSVG وWebAssembly وHTTP وMathML فما زالت غير مغطاة بالكامل. في crates/layout/src/generated توجد تسع قواعد من CSS 2.1: كتب النماذج ثمانيًا وقُبلت بتصويت المتصفحات، أما قاعدة ارتفاع الكتلة فبقيت يدوية لأن أي مرشح لم يتفوق. تمر هذه القواعد عبر 227 حالة وصفية و11 صفحة مفيدة من WPT.

ماذا تُظهر التجارب
من 705 مقارنات ثنائية على 235 مستندًا تطابق 699. تعلقت المواجهات الست كلها بنسب متداخلة حتى اثني عشر مستوى؛ وكان الأبرز بالأغلبية دائمًا Firefox. الفرق عيب حقيقي في توافق الويب: يقرّب Gecko الطول إلى 1/60 px، بينما يستخدم Blink وWebKit قيمة 1/64 px. تتطابق إعادة الإنتاج مع عيوب Mozilla المؤكدة في Slack وGoogle Store وSamsung ومع خطأ Mozilla رقم 1719314. تصويت WPT: أغلبية المحركات الثلاثة تغطي 2 162 676 من 2 282 301 حالة (94,8%). مجموعات التطابق مراجع مفيدة: WebGL مع dEQP بنسبة 99,7%، وWPT canvas بنسبة 82,6%، وWPT Web Audio بنسبة 74,4%، وWebGPU CTS للتحقق بنحو 85%. طيّ الحدود المكتوبة بـ Datalog تطابق مع المتصفحات في 1195 من 1195 حالة، والتقط أيضًا خطأً مزروعًا أفلته فحص الهندسة.
الأهداف والأسئلة المفتوحة
النسخة الافتراضية محرك كامل، لكن لأغراض أخرى يمكن تفعيل الوظائف المطلوبة فقط؛ أما الباقي فلا يدخل حتى في الملف الثنائي، وليس مجرد معطّل. المحرك الصغير يتطلب عملًا وذاكرة أقل، ويسهل تضمينه في التطبيقات والأجهزة. عند تغيير المواصفة أو الاختبار، يُعاد توليد الكود والتحقق منه، ولا يُعاد كتابته يدويًا. الاقتصاد مبرر لجزء من المنصة: نحو 55-60% من سجلات التوافق لديها مرجع تلقائي مفيد ومواصفة قابلة للتوليد، بينما 8-18% لا لديها أي منهما. من الأسئلة المفتوحة: تكلفة البناء اليدوي لكل قاعدة، وإمكانية تحقيق WPT دون JavaScript، وحدود الكود المولَّد من IDL.
SiTech — تطوير ويب مدعوم بالذكاء الاصطناعي
نبني مواقع سريعة وعصرية وندمج الذكاء الاصطناعي في سير عمل الشركات. لديك مشروع أو سؤال؟ يسعدنا مساعدتك.