Sobre el proyecto
ZeroWeb es un proyecto experimental de navegador multiplataforma implementado en Rust, cuyo repositorio mantiene dos líneas de productos: la biblioteca ZeroWebView, embebible y reutilizable, y la aplicación de navegador completa ZeroBrowser. El proyecto se posiciona con prioridad en el embebido, prioridad en los límites de licencia (las dependencias principales tienden a licencias permisivas como MIT, Apache-2.0, BSD, etc.) y una ruta de stack completo en Rust, donde el DOM, CSS, diseño, renderizado, navegación y límites de seguridad se construyen capa por capa dentro del repositorio, en lugar de aplicar directamente un núcleo ya existente.
Arquitectónicamente, adopta una división de múltiples procesos: zero-browser conserva únicamente la ventana, la interfaz del navegador, el proxy de red y la importación de tramas IPC para la presentación; el renderizado de páginas y la ejecución de scripts son asumidos por zero-renderer, mientras que la decodificación de imágenes y la composición se delegan a los subprocesos zero-image-decoder y zero-compositor, respectivamente. La versión de lanzamiento predeterminada no vincula WebView, sandboxes de scripts o motores de JS dentro del proceso del navegador; la depuración headless también completa la navegación, los scripts y las capturas de pantalla a través de renderer IPC. El espacio de trabajo consta de 32 miembros, que incluyen 22 crates de biblioteca, 7 puntos de entrada de aplicación, así como herramientas de prueba y desarrollo.
La capa de JavaScript de la página es proporcionada por script-sandbox, que ofrece un feature gate de motores duales V8/QuickJS, cubriendo Web Worker, ES Modules, y puenteando automáticamente la WebAssembly JS API hacia wasm-sandbox; las vinculaciones nativas de DOM para V8 están activadas por defecto, incluyendo el despacho y burbujeo de eventos nativos, el ciclo de vida de customElements/Web Components, la realimentación de fetch, diversos callbacks de observadores, así como soporte para controles de formulario y selectores. En la dirección de medios, proporciona demux de webm/Matroska, decodificación VP9 en Rust puro, decodificación opcional de AV1 y H.264, controladores de reproducción de audio y VideoPlayer, bus de mezcla y una superficie mínima de Web Audio. Las capacidades de almacenamiento y offline cubren localStorage, sessionStorage, IndexedDB, caches/Cache API, e implementan el ciclo de vida de Service Worker y la interceptación de fetch respondWith, mientras que la realimentación de OPFS sigue en progreso. El lado de la seguridad incluye la implementación de CSP, precarga de HSTS, bloqueo y actualización de contenido mixto, modelo de permisos y aislamiento de sitios; la accesibilidad comienza con FocusManager y ARIA; la edición de HTML, la interacción del teclado y la compatibilidad del comportamiento de los formularios también avanzan como líneas de desarrollo independientes.
En el aspecto de ingeniería, proporciona un servicio W3C WebDriver (34 endpoints, incluyendo capturas de pantalla y pruebas de integración de cadena completa), métricas de compatibilidad de renderizado basadas en WPT/CSSWG reftest (el README registra que aproximadamente el 87.2% del corpus de reftest upstream está alineado, utilizando la tasa de consistencia de píxeles de Chromium Oracle como indicador honesto), puertas de regresión de píxeles para páginas estáticas del producto, así como scripts de empaquetado para Linux/macOS/Windows y Android M0 bootstrap. El proyecto indica claramente que se encuentra en fase experimental, orientado principalmente al aprendizaje, la investigación y la exploración de ingeniería, no siendo apto para su uso como navegador diario o de producción; la licencia es MIT. Es, al mismo tiempo, un experimento de ingeniería AI-first, donde el desarrollo del código es realizado principalmente por IA, mientras que los humanos se encargan del diseño de soluciones, las decisiones críticas y la verificación de resultados.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.