عن المشروع

ZeroWeb هو مشروع متصفح تجريبي عابر للمنصات تم تنفيذه باستخدام لغة Rust، ويدير المستودع خطي إنتاج: مكتبة ZeroWebView القابلة للتضمين وإعادة الاستخدام، وتطبيق ZeroBrowser المتصفح الكامل. يتموضع المشروع ليكون ذا أولوية للتضمين، وأولوية لحدود التراخيص (تميل التبعيات الرئيسية إلى التراخيص المتساهلة مثل MIT وApache-2.0 وBSD)، ومسار Rust الكامل، حيث يتم بناء DOM وCSS والتخطيط والرندرة والملاحة وحدود الأمان طبقة تلو الأخرى داخل المستودع، بدلاً من استخدام نواة جاهزة مباشرة. من الناحية المعمارية، يعتمد المشروع تقسيم العمليات المتعددة: يحتفظ zero-browser فقط بالنوافذ، وواجهة المتصفح، ووكيل الشبكة، واستيراد وعرض إطارات IPC، بينما يتولى zero-renderer رندرة الصفحات وتنفيذ النصوص البرمجية، ويتم التعامل مع فك تشفير الصور والتركيب بواسطة العمليات الفرعية zero-image-decoder وzero-compositor على التوالي. لا يتم ربط WebView أو صندوق رمل النصوص البرمجية (script sandbox) أو محرك JS داخل عملية المتصفح في الإصدار الافتراضي؛ كما يتم إكمال الملاحة والنصوص البرمجية ولقطات الشاشة في وضع headless عبر renderer IPC. تضم مساحة العمل 32 عضواً، تشمل 22 مكتبة crate، و7 مداخل للتطبيقات، بالإضافة إلى أدوات الاختبار والتطوير. توفر طبقة JavaScript للصفحات عبر script-sandbox ميزة feature gate لمحركي V8/QuickJS، وتغطي Web Worker وES Modules، وتقوم بتجسير WebAssembly JS API تلقائياً إلى wasm-sandbox. تم تفعيل ربط DOM الأصلي لـ V8 بشكل افتراضي (default-on)، بما في ذلك توزيع الأحداث الأصلية وفقاعتها، ودورة حياة customElements/Web Components، وتجسيد fetch، ومختلف استدعاءات المراقبين (observer callbacks)، ودعم عناصر التحكم في النماذج والمحددات. وفي اتجاه الوسائط، يوفر المشروع demux لـ webm/Matroska، وفك تشفير VP9 بلغة Rust الصرفة، وفك تشفير اختياري لـ AV1 وH.264، ومشغلات فك تشفير الصوت وVideoPlayer، وناقل خلط الصوت، وأدنى واجهة لـ Web Audio. تغطي قدرات التخزين والعمل دون اتصال localStorage وsessionStorage وIndexedDB وcaches/Cache API، مع تنفيذ دورة حياة Service Worker واعتراض fetch respondWith، بينما لا يزال تجسيد OPFS قيد التنفيذ. يشمل الجانب الأمني تنفيذ CSP، والتحميل المسبق لـ HSTS، ومنع وترقية المحتوى المختلط، ونموذج الأذونات وعزل المواقع، بينما تبدأ إمكانية الوصول من FocusManager وARIA؛ كما يتم دفع توافق تحرير HTML والتفاعل بلوحة المفاتيح وسلوك النماذج كخط تطوير مستقل. من الناحية الهندسية، يوفر المشروع خدمة W3C WebDriver (34 نقطة نهاية، تشمل لقطات الشاشة واختبارات التكامل الشاملة)، وقياس توافق الرندرة بناءً على WPT/CSSWG reftest (يسجل README محاذاة بنسبة 87.2% تقريباً مع reftest corpus العلوي، مع استخدام معدل اتساق بكسلات Chromium Oracle كمؤشر صادق)، وبوابة تراجع بكسلات للصفحات الساكنة للمنتج، بالإضافة إلى سكربتات التغليف لـ Linux/macOS/Windows وAndroid M0 bootstrap. يشير المشروع بوضوح إلى أنه في مرحلة تجريبية، وموجه أساساً للتعلم والبحث والاستكشاف الهندسي، وغير مناسب للاستخدام اليومي أو الإنتاجي؛ الترخيص هو MIT. كما أنه تجربة هندسية تعتمد على مبدأ AI-first، حيث يتم تطوير الكود بشكل أساسي بواسطة الذكاء الاصطناعي، بينما يتولى البشر تصميم الحلول والقرارات الحاسمة والتحقق من النتائج.