En 2012, Mozilla comenzó el proyecto Servo , un esfuerzo de la comunidad para crear nuevos componentes de navegador de código abierto que pueden aprovechar el hardware multinúcleo para mejorar la velocidad, la estabilidad y la capacidad de respuesta. Servo es comparable a WebKit , un motor de navegador de código abierto que es la base del navegador Safari de Apple. (Otros motores de navegador incluyen Blink , EdgeHTML y Gecko ). La diferencia es que Servo está escrito en el lenguaje de programación Rust., brindando un rendimiento increíblemente rápido y seguridad de la memoria a los internos del navegador. El código de óxido puede reducir drásticamente la cantidad de errores críticos que afectan los motores de los navegadores. Servo utiliza una arquitectura modular y actualmente se ejecuta en sistemas operativos Linux, macOS, Windows y Android.

¿Qué componentes ofrecerá Servo?

Al igual que WebKit, el proyecto Servo no es un navegador completo. Más bien, ofrece una colección de componentes que pueden cargar, ejecutar y mostrar sitios web y aplicaciones. Estos componentes incluyen:

  • Un motor de estilo CSS paralelizado que puede acelerar los tiempos de carga de la página y mejorar la estabilidad
  • Un motor de pintura , llamado WebRender , que mueve el dibujo casi en su totalidad a las GPU, asegurando altas tasas de cuadros y liberando la CPU para hacer otro trabajo
  • Un motor de diseño que usa algoritmos nuevos para procesar muchas partes de la página a la vez, en lugar de procesarlas secuencialmente
  • Un DOM más seguro que se ejecuta en paralelo con otros componentes del sistema, lo que ayuda a garantizar una alta seguridad y un rendimiento fluido y suave.

Los desarrolladores pueden integrar estos componentes amigables con la web en sus propios proyectos, incluidos productos, aplicaciones, interfaces de usuario y más.

¿Como funciona?

Servo aprovecha al máximo la paralelización de Rust para llevar la navegación multiproceso, multiproceso y aceleración de GPU a las PC, tabletas y teléfonos inteligentes actuales. El código servo permite que el navegador ejecute tareas de alta prioridad en un hilo que es independiente del hilo principal. Eso significa que es menos probable que el contenido inestable o el código lento interrumpan las funciones críticas del navegador.

El código del servo es seguro de memoria por defecto porque está escrito en Rust. El modelo de propiedad de Rust ayuda al compilador a garantizar la seguridad de la memoria. También hace que escribir código paralelo sea seguro y fácil. Con Rust, los desarrolladores pueden reutilizar el código de forma segura para acortar los ciclos de desarrollo. Eso le da a Servo una baja barrera de entrada, lo que permite a los nuevos programadores realizar contribuciones significativas a la base de códigos sin provocar costosos ciclos de revisión extendida. El código de óxido también puede reducir el tamaño de las superficies de ataque en las aplicaciones, ya que evita fallas de software comunes, como los errores de «uso después de la liberación» que los hackers podrían aprovechar para acceder a la máquina. Por último, la seguridad de la memoria de Rust puede reducir drásticamente el tiempo necesario para completar las evaluaciones por pares y el control de calidad.

¿Por qué eso importa?

Servo es muy rápido Muchas partes son mucho más rápidas que los componentes de navegador existentes escritos en C ++. Estas mejoras en el rendimiento y la confiabilidad significan que los motores Servo pueden ejecutar aplicaciones modernas con espacio libre de espacio libre y escalar a hardware nuevo como auriculares con realidad virtual (VR).

Servo es más simple y fácil de usar que los motores de navegador heredados. Eso lo convierte en una gran base para nuevos proyectos y experimentación. Servo promete abrir nuevos casos de uso para motores web y permitir que se construyan más cosas con las tecnologías web.

¿Qué reemplaza o cambia?

Pretendemos que Servo sea un reemplazo moderno para los motores de navegación escritos en C ++, a menudo haciéndolos más rápidos y seguros. Servo también aporta concurrencia y robustez a la arquitectura del navegador, por lo que puede admitir aplicaciones web más complejas y dinámicas en el futuro. Al igual que WebKit, Servo puede integrarse fácilmente y usarse para un conjunto diverso de casos de uso más allá de los navegadores.

¿Qué estándares web admite?

Los motores servo ya son compatibles con muchos estándares web como HTML, CSS, JavaScript, WebSockets, WebVR y WebGL. Sin embargo, todavía estamos trabajando en la compatibilidad completa de la web. Con el tiempo, esperamos soportar estándares web adicionales tales como WebRTC, WebAudio, Gamepad y otros.

¿Quién lo está usando?

Mozilla está actualizando su motor de renderizado Gecko Firefox, a lo largo del tiempo, para incorporar tecnología del proyecto Servo. La versión 57 de Firefox Quantum , disponible ahora, presenta el motor Servo CSS Style, anteriormente llamado Stylo . Una tecnología joven, Servo puede encontrar uso futuro como un habilitador de experiencias de realidad virtual mejoradas y como un motor web incorporado en una gama de nuevas aplicaciones.

Deja un comentario

Tendencias