Servo es un nuevo motor web que vendrá a revolver los navegadores móviles. Construido desde cero, se basa en dos premisas: la seguridad y aprovechar el paralelismo de los nuevos procesadores.
A veces pasan cosas insólitas, como que a mi me guste un Android como el HTC ONE, o que Mozilla y Samsung se alíen para crear un nuevo motor web para dispositivos móviles, teniendo a Android en el punto de mira por influencia de la gigante coreana, claro está, aunque nada impide que en un futuro se implemente en otros navegadores para otras plataformas. Así pues, nace Servo para Android, el que está llamado, según ellos, a ser el siguiente gran motor web de las plataformas móviles.
Primero que nada, definamos un motor web genérico: un motor web es lo que está dentro de los navegadores que usamos normalmente y que se encarga de mostrar los elementos definidos en el documento HTML de forma visual, aderezarlos con el CSS que venga en la web para que se vean bonitos y ordenados , así como ejecutar el JavaScript dentro del navegador. En resumen: es lo que traduce código a elementos visibles, es una de las partes más importantes, si no la que más, del navegador, sobre todo porque de su rendimiento depende gran parte del tiempo de carga de las páginas webs, ahorro de batería y uso del procesador de un dispositivo móvil. ¿Pero qué hace diferente a Servo para Android si ya hay varios en el mercado?
Desde Mozilla y Samsung se proponen una ardua tarea: replantear los motores web desde cero para adaptarlos a las nuevas necesidades que han surgido con los nuevos estándares de HTML5, muchos de ellos aún en borrador en la W3C pero ya implementados en navegadores como Chrome o el de BlackBerry 10, así como al nuevo hardware existente, especialmente los procesadores con varios núcleos, por lo que podremos esperar un software que realmente haga uso de la concurrencia y paralelismo que estos procesadores ofrecen. Este es el concepto y la idea detrás de Servo para Android.
Entrando en los detalles técnicos de Servo para Android, vemos que está escrito en Rust, un nuevo lenguaje de programación creado por Mozilla y la comunidad, aunque aún se encuentra en fase beta, siendo la versión 0.6 la más actual; pero eso no quita que haya sido desarrollado durante años. Hablando un poco más sobre Rust, tenemos un lenguaje diseñado para sustituir a C++ en muchos de sus nichos, trayendo la eficiencia a un lenguaje multiparadigma de alto nivel, ofreciendo un control preciso sobre los recursos físicos del sistema, aunque la diferencia está en que Rust es seguro de por sí, ya que previene varios errores de manejo de memoria que se pueden dar con C++ por diferentes malas prácticas de programación, también se diferencia en que las herramientas necesarias para tener hilos concurrentes son directamente tipos primitivos en Rust, como un int en ANSI C.
En cuanto al lanzamiento de Servo para Android, se espera que Mozilla complete las librerías y documentación de Rust y ponga más recursos en Servo para Android, aunque, eso sí, el código de Rust ya es descargable en GitHub.