En el año 2001 por KHTML surge WebKit; un motor de renderizado ligero y potente. Su flexibilidadrendimiento y diseño inteligente lo hicieron la mejor opción para Chromium. El intenso trabajo realizado por todos los miembros de la comunidad hizo que WebKit prosperara y mantuviese un crecimiento en la capacidad de la plataforma web.

A pesar de ello Chromium utiliza una arquitectura multiproceso diferente a otros navegadores basados ​​en WebKit, el apoyo de éstas durante todo este tiempo ha llevado a la creciente complejidad tanto para WebKit como para proyectos de Chromium. Por lo que el proceso del ritmo de innovación colectiva ha disminuido drásticamente, es allí donde Blink entra en acción.

Blink y Servo los nuevos motores de renderizado de codigo abierto
Blink y Servo los nuevos motores de renderizado de codigo abierto

¿Qué es Blink?

Un nuevo motor de renderización de código abierto basado en WebKit. Se creé que ésta nueva introducción puede llevar a complicaciones intensas para la web, sin embargo tener múltiples motores de renderizado, similar a tener múltiples navegadores, estimulará la innovación y con el tiempo mejorará la salud del ecosistema web abierto.

Visión a corto y largo plazo

Blink traerá a corto plazo pocos cambios para los desarrolladores web. La mayor parte del trabajo inicial se centrará en mejoras en la arquitectura interna y la simplificación de la base de código. En cambio a largo plazo, una base de código más saludable conduce a una mayor estabilidad y un menor número de errores. Durante toda la transición, colaborarán estrechamente con otros fabricantes de navegadores para mover la web hacia adelante y preservar la compatibilidad de un ecosistema exitoso.

Cambios arquitectónicos

Uno de los cambios que planean integrar es out-of-process iframes . Los cuales permiten separar las partes individuales de una página en distintos procesos de espacio aislado. La aplicación de esta reestructuración requerirá gran cantidad de iframes cómo se manejan en WebKit. Parte de esta reestructuración es incompatible con otros puertos de WebKit por lo que sigue en construcción.

Por otra parte, el código de red actual en WebKit está limitado por las obligaciones antiguas de Mac WebKit API que no se pueden cambiar. Con Blink, volverán a cargar este código de red sin romper  las obligaciones del API de WebKit de otros consumidores.

Algunos otros cambios considerados:

  • Libre de prefijos
  • Eliminar el árbol Widget (una restricción Mac WebKit1).
  • Divide WebCore en módulos.
  • Mover el código para utilizar la Plataforma sandbox API directamente en lugar de WebCore.
  • Experimentar moviendo DOM dentro de una pila JS.
  • Experimentar con diseño incremental o paralelo.
  • Reemplazar WebKitIDL con WebIDL y eliminar código JavaScript, entre otros.

Y hablando de motores de renderizado, les comentamos que después del anuncio de Unreal Engine para la web, Mozilla sigue con la experiencia de mejorar la web y el avance de la misma como una plataforma para todos. Es por ello que en esta ocasión anuncia un proyecto nuevo en colaboración con Samsung para la construcción de un nuevo motor para renderizar páginas web llamado Servo.

¿Qué tienen en mente?

Según Mozilla, el objetivo es crear un nuevo motor con vistas al futuro el cual esté optimizado para dispositivos con varios núcleos y con un enfoque de seguridad por defecto.

Las alianzas

Gracias a las alianzas entre Mozilla y Samsung es que ahora existe Rust (lenguaje de programación) y Servo , el motor del navegador web experimental para Android y ARMServo permitirá iniciar una investigación más profunda en los móviles. Samsung ya ha contribuido con un backend ARM y la construcción de infraestructura necesaria para la compilación cruzada para Android, junto con muchas otras mejoras.

Blink y Servo los nuevos motores de renderizado de codigo abierto
Blink y Servo los nuevos motores de renderizado de codigo abierto

¿Qué es Servo?

Servo es un intento de reconstruir el navegador Web desde cero en hardware moderno abordando las causas de las vulnerabilidades de seguridad, mientras que en la parte del diseño de una plataforma se pueda utilizar todo el rendimiento del hardware para permitir nuevas experiencias en la Web.

¿Y Rust?

La construcción de este nuevo motor está basada en Rust, un lenguaje de programación nuevo,  orientado a entornos de multiprogramación y seguridad, sin posibilidad de vulnerabilidades por buffer overflow o por punteros nulos, lo que significa que el valor de null no existe.

Actualmente se encuentra en su versión 0.6 , ha estado en desarrollo durante varios años y se acerca rápidamente a la estabilidad. El objetivo es llenar muchos de los huecos que C++ ha dejado en las últimas décadas.

Algunas de las características más relevantes son:

  • Eficiencia de alto nivel.
  • Abstracciones multi-paradigma.
  • Control preciso sobre los recursos de hardware.
  • Prevención de clases enteras de los errores de gestión de memoria que generalmente conducen a los accidentes y vulnerabilidades de seguridad.
  • Primitivas de concurrencia ligeras que facilitan a los programadores aprovechar la potencia de los núcleos de CPU disponibles en muchas plataformas informáticas actuales y futuras.

Lo mejor de todo es que Servo es software libre. Puedes descargarlo desde el repositorio de Github, disponible para OS X o Linux ambos de 64 bits.

Lo que viene para Rust

Esperan completar la primera revisión importante de Rust el año que viene, ésta cubre los siguientes puntos:

  • Limpieza
  • Ampliación
  • Documentación de bibliotecas
  • Construcción de herramientas para mejorar la experiencia del usuario
  • Reforzar el rendimiento.

Al mismo tiempo, esperan poner más recursos a Servo, demostrando que pueden construir un navegador web rápido con paralelismo penetrante, en un lenguaje seguro y divertido.

Cecy Martínez

Cecy Martínez

Jefa de contenido y editora en HTML5Fácil, NinjaCodeTV, Desveloperstv y Co funder de WaveCode.LA

Un pensamiento en “Blink y Servo los nuevos motores de renderizado de codigo abierto

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Cerrar