Hace ya algo más de tres años que Mozilla y Samsung anunciaron su cooperación para crear un nuevo motor de renderizado web destinado a ser la base del Firefox del futuro. Después de un largo silencio, el pasado marzo el equipo de Mozilla Research aseguró que tendrían la primera versión alpha del motor para finales de junio.
Y así fue, llegó el 30 de junio y con él el lanzamiento de las primeras Nightly Builds. Para que el motor de renderizado sera utilizable, el equipo de desarrollo ha creado una UI parecida a la de un navegador, por lo que ya hemos podido juguetear un rato con él para contaros cuales son nuestras primeras impresiones. Aunque primero tenemos que aclarar qué es exactamente lo que tenemos entre manos.
¿Qué es Servo?
Lo primero que necesitaremos tener en cuenta si vamos a probar Servo es que no es un navegador propiamente dicho, sino únicamente el motor sobre el que en el futuro podrían crearse navegadores como Firefox. Esto quiere decir que aunque tiene el aspecto de un navegador, le faltan todas las funciones que podemos esperar para uno que queramos utilizar en nuestro día a día.
Servo será un motor multiplataforma para sistemas ARM. Su primera versión de pruebas ha nacido siendo compatible con GNU/Linux y Mac OS X de 64 bits, y aseguran que ya están trabajando para lanzar cuanto antes otras versiones para Windows y Android. Con él Mozilla quiere apostar por la velocidad y el paralelismo permitiendo ejecutar varios componentes al mismo tiempo
También quieren potenciar la seguridad, la modularidad y el rendimiento, razón por la que han decidido programarlo en Rust, un lenguaje que está diseñado para garantizar la concurrencia multi-hilo. Con ello aseguran estar dándole un mayor énfasis a la seguridad que si lo programasen en C++, lenguaje al que han acusado a menudo de no estar lo suficientemente preparado para prevenir bugs en la memoria y los datos.
A pesar de tener ya una versión estable, a Servo aún le queda un largo camino hasta estar finalizado, aunque en el horizonte sigue estando el objetivo de Mozilla de convertirlo en un sustituto de Gecko. No será un cambio abrupto, y de hecho podríamos hablar más de una implementación que de una sustitución, ya que la intención es la de ir añadiéndole poco a poco a Gecko componentes de Servo escritos en Rust.
Un motor que aún está muy verde
En su vídeo promocional Mozilla muestra a Servo moviéndose con buena fluidez y cargando sin demasiados problemas las páginas que visitan utilizándolo en un Mac. No sé si será porque la prueba yo la he hecho en Ubuntu y en Linux el motor está más verde que en OS X, pero el caso es que el rendimiento dista mucho del que vemos en el vídeo.
Lo primero que hice fue seguir las instrucciones de instalación de Servo que podemos encontrar en su página de descargas. Tres comandos de terminal después ya estaba ejecutando el motor, el cual como hemos dicho se nos muestra con una UI básica de navegador. En ella, vemos una página de inicio con páginas que teóricamente funcionan sin problemas.
A parte de los enlaces a las webs, en la parte superior una barra de direcciones en la que podremos escribir términos para buscarlos en DuckDuckGo o directamente la URL de una página para entrar directamente a ella. En la esquina superior derecha en cambio tenemos un símbolo + para abrir una nueva pestaña y un menú con tres líneas con el que accederemos a las pestañas abiertas.
En cuanto al funcionamiento en sí, la mayoría de páginas del menú inicial se cargan bastante lentas pero con buenos resultados, aunque hay algunas imágenes que no se muestran correctamente, los menús desplegables no se abren, algunos textos están mal situados y la página en sí tarda demasiado en cargar en cuanto tiene algo de peso.
El motor de navegación se abre con el terminal de Linux, y necesitamos tenerlo abierto en todo momento. Esto nos permite ver cómo en cuanto entramos a una página y vamos navegando en ella nos aparecen errores continuos a la hora de abrir ciertos componentes de la web.
Y si vemos que las páginas que el propio equipo de desarrollo ha seleccionado no terminan de funcionar correctamente, ya os podéis imaginar cómo le van las cosas a otras como Genbeta. La carga es aún más lenta, no se ven ni el logo, ni las ads ni la lista de blogs de Weblogs, y los menús desplegables no funcionan.
También se hacen las carencias a la hora de redimensionar páginas web. En la última captura vemos que está todo en su sitio, pero en otra un poco más arriba comprobaremos que hay elementos que se superponen a otros. Y si jugamos con el tamaño de las webs veremos que el motor tarda bastante en gestionar las redimensiones, recubre los espacios de negro durante unas centésimas de segundo e incluso se nos ha bloqueado todo un par de veces.
Y por último está el tema de los vídeos online. En una última prueba hemos ido a YouTube para encontrarnos con que apenas puede cargar toda la ingente cantidad de vídeos que aparecen en la página de inicio (de hecho la primera vez que entré se bloqueó). Y cuando intentamos acceder a un vídeo directamente la página se queda en blanco mostrando buena ristra de errores.
En cualquier caso no queremos parecer destructivos, y estos errores no dejan de ser los esperables en una etapa tan embrionaria de desarrollo. Han tardado tres años en lanzar esta versión alpha, por lo que sería muy osado pensar que el camino hasta empezar a implementar esta tecnología en Firefox va a ser corto.
Lo importante aquí es que el motor ya es lo suficientemente fiable como para poder mostrar sin demasiados problemas las páginas más simples, aunque la velocidad del renderizado aún deja un poco que desear. Por lo tanto, aún queda algo de trabajo en las funciones básicas, por lo que hablar de menús emergentes o multimedia aún es echar la vista demasiado hacia adelante.
Será entonces, cuando las páginas empiecen a cargarse sin problemas y dentro de unos años se implemente esta tecnología en Firefox y/u otros navegadores cuando podremos compararlo con Gecko, y de paso ver si todos estos años de desarrollo le han servido a Mozilla para parir una alternativa fiable a Webkit.
En Genbeta | Firefox muestra su futuro: la preview de su próximo motor de renderizado llegará en junio
Ver 1 comentarios