Un salto cuántico para la web

7 Enero, 2017 21:53 por

Esta es una traducción del artículo original publicado en el blog de Mozilla Tech.

Durante el último año, nuestra prioridad número uno para Firefox fue el proyecto Electrolysis, para darle una experiencia de navegación multiprocesos para los usuarios. Usar Firefox con múltiples procesos provee grandes mejoras en seguridad y desempeño. Este es el cambio más grande que le hemos hecho al Firefox, y lanzaremos la primera etapa de Electrolysis para todos los usuarios de Firefox de escritorio en los próximos meses.

Pero ésto no significa que se nos acabaron las ideas en términos de cómo mejorar la seguridad y el desempeño. De hecho, Electrolysis nos ha posicionado para hacer algo que creemos es realmente grande.

Lo llamamos Proyecto Quantum.

Quantum es nuestra iniciativa para desarrollar el motor web de siguiente generación para Mozilla, y empezar a dar mejoras mayores a los usuarios para finales del 2017. Si no estás familiarizado con el concepto de un motor web, éste es el corazón del navegador que ejecuta todo el contenido que recibes cuando estás navegando la web. Quantum se trata de hacer uso extenso del paralelismo y explotar de lleno el hardware moderno. Quantum tiene varios componentes, incluyendo varios adaptados del proyecto Servo.

El motor resultante potenciará una experiencia de usuario rápida y continua para tanto sistemas operativos de escritorio como móvil – creando un “salto cuántico” en desempeño. ¿Qué significa ésto? Estamos apuntando a mejoras de desempeño de Quantum que serán tan notables que tu experiencia web completa se sentirá diferente. Las páginas cargarán más rápidamente, y el desplazamiento (scroll) será suave y continuo. Las animaciones y aplicaciones interactivas responderán al instante, y serán capaces de manejar contenido más pesado, manteniendo tasas de cuadros consistentes. Y el contenido más importante para ti tendrá la prioridad más alta automáticamente, enfocando el poder de procesamiento donde más lo necesitas.

¿Cómo lograremos todo ésto?

Los navegadores web aparecieron por primera vez en la época de los PC de escritorio. Esos primeros computadores solo tenían un CPU de un solo núcleo que solo podía procesar comandos en un solo flujo, así que realmente solo podían hacer una cosa a la vez. Incluso hoy, en la mayoría de los navegadores una página web individual se ejecuta principalmente en un solo hilo en un solo núcleo.

Pero actualmente navegamos la web en teléfonos, tabletas, y computadoras portátiles que tienen procesadores mucho más sofisticados, frecuentemente con dos, cuatro, o incluso más núcleos. Adicionalmente, ahora es común que los dispositivos incorporen uno o más GPUs de alto desempeño que pueden acelerar el renderizado y otros tipos de computación.

Otro cambio grande que ha ocurrido en los últimos quince años es que la web ha evolucionado de una colección de documentos estáticos con hipervínculos a una constelación de aplicaciones complejas e interactivas. Los desarrolladores quieren construir, y los consumidores esperan, experiencias sin latencia, animaciones complejas, e interactividad en tiempo real. Para hacer esto posible necesitamos una plataforma web que permita a los desarrolladores utilizar la potencia completa del dispositivo anfitrión, sin tener que agonizar sobre las complejidades que son parte del paralelismo y el hardware especializado.

Así que el Proyecto Quantum se trata de desarrollar el motor de siguiente generación que cumplirá con las demandas de la web de mañana al tomar completa ventaja del poder de procesamiento de tus dispositivos modernos. Quantum empieza con Gecko, y reemplaza los componentes importantes del motor que se beneficiarán más del paralelismo o de delegar al GPU. Una parte clave de nuestra estrategia es incorporar componentes de punta de Servo, un motor web independiente y comunitario, patrocinado por Mozilla. Inicialmente, Quantum compartirá algunos componentes con Servo, pero así como vayan evolucionando los proyectos experimentaremos con adoptar aún más.

Un número de los componentes de Quantum están escritos en Rust. Si no estás familiarizado con Rust, es un lenguaje de programación de sistemas que corre realmente rápido, y al mismo tiempo simplifica el desarrollo de programas paralelos al garantizar la seguridad de hilos y memoria. En la mayoría de los casos el código Rust no compilará a menos que sea seguro.

Tomaremos muchas iniciativas separadas pero relacionadas como parte de Quantum, y revisitaremos muchos supuestos e implementaciones. El enfoque de alto nivel es pensar nuevamente muchos aspectos fundamentales de cómo funciona un motor de navegador. Vamos a reprogramar piezas fundamentales, como la manera en que aplicamos estilos CSS, cómo ejecutamos operaciones del DOM, y como renderizamos gráficos en tu pantalla.

Quantum es un proyecto ambicioso, pero los usuarios no tendrán que esperar mucho para empezar a ver las mejoras. Vamos a lanzar mejoras importantes el próximo año, e iteraremos a partir de ahí. Una primera versión de nuestro nuevo motor será lanzado en Android, Windows, Mac, y Linux. Esperamos ofrecer este nuevo motor en iOS algún día también.

Tenemos confianza en que Quantum traerá mejoras significativas en desempeño. Si eres un desarrollador y quieres involucrarte, puedes aprender más de Quantum en el wiki de Mozilla, y explorar maneras en que puedes contribuir. Esperamos que tomes el salto cuántico con nosotros.

The following two tabs change content below.

jorgev

Add-ons Developer Relations Lead at Mozilla
Jorge trabaja para el equipo de complementos de Mozilla, y se dedica a Mozilla Hispano y Mozilla Costa Rica en su tiempo libre. Actualmente está encargado del blog de Mozilla Hispano Labs.

Compartir artículo:

Start the discussion at foro.mozilla-hispano.org

  • ¡Participa!

    Firefox Friends »
    Agrega botones de Firefox en tu sitio web y comparte tu amor por Mozilla Firefox.
    Armada alucinante »
    Ayuda a otros usuarios en Twitter.
    Colabora con la comunidad »
    En Mozilla lo importante son las personas. Descubre cómo puedes colaborar.

    Boletín Firefox

    Suscríbete al boletín de novedades de Firefox.

  • Descargas

    Descarga los programas de Mozilla.

    Lo más visto

    cc-by-sa