La historia de Google Chrome, 17 años después

Aunque con cierto retraso, pues fue el pasado 2 de septiembre, el navegador web de Google, Chrome, ha cumplido ya 17 años. Personalmente y dedicándome profesionalmente al desarrollo web, su aparición supuso un punto de inflexión.

Nos encontrábamos en la segunda fase de la Guerra de los Navegadores, una contienda desigual entre Microsoft y Netscape a mediados de los 90, o posteriormente entre Internet Explorer y Firefox. Y en esas que Google, que había venido a organizar la red con su buscador se decidió a lanzar un nuevo programa para navegar por ella, añadiendo nuevos contrincantes a la batalla.

Todavía recuerdo la expectativa creada, probarlo y luego empezar a leer comparativas de rendimiento con los navegadores del momento: superaba claramente a un estancado Internet Explorer pero se quedaba atrás en varios aspectos con Firefox.

Esta es su historia, contada, para la ocasión, por Addy Osmani, uno de los principales ingenieros a cargo del proyecto en la actualidad.

¿Quién es Addy Osmani?

Addy Osmani es un Ingeniero del Software irlandés que lleva trabajando en Google desde el año 2012. Antes de trabajar para Google lo hizo en AOL y llegó a desarrollar su propio navegador web siendo un adolescente.

Su progresión dentro de Google le ha llevado a liderar el actual equipo de Google Chrome dedicado a las Devtools, las herramientas para análisis y desarrollo disponibles en el navegador.

Además, destaca por su labor divulgadora, siendo autor de numerosos libros y por haber dado charlas en conferencias a lo largo de todo el mundo. Este es un pequeño resumen (libre) en español de su artículo sobre Google Chrome, el navegador de Google que ha acabado conquistando el mundo.

Los orígenes de Google Chrome

Aunque ya lo he apuntado al inicio de este artículo, a mediados de la primera década del siglo XXI Google se había establecido como un actor dominante en la navegación web. La llegada de su buscador dejaba atrás los directorios y repositorios de webs que habían organizado la información cuando Internet empezó a popularizarse.

Ante esta situación y dado el estancamiento que se vivía con Internet Exporer (navegador dominante por venir incluido en Windows, sistema operativo dominante a nivel mundial) hizo que desde Google se plantearan crear su propio navegador.

Un pequeño equipo formado por antiguos ingenieros de Firefox empezó a trabajar en un prototipo de navegador en el año 2006. Una de las ideas principales de este nuevo proyecto pasaba por aislar cada una de las pestañas del navegador en un proceso separado, copiando el concepto de la arquitectura multiproceso de los sistemas operativos. Aislando los procesos se conseguiría un navegador más robusto y seguro.

Para conseguir una buena ejecución en paralelo, el equipo de Google Chrome creo el motor JavaScript V8, vigente hoy en día en multitud de navegadores. Como base del navegador se tomó el proyecto WebKit de Apple que a su vez derivaba de KHTML de KDE.

La explicación completa del funcionamiento de Google Chrome está explicada en The Google Chrome Comic de Scott McCloud.

La continua evolución de V8 y la segregación definitiva de WebKit en 2013 para crear Blink y usarlo como motor de renderizado hacen que Google Chrome sea uno de los navegadores más optimizados. La base de su tecnología es utilizada actualmente por otros navegadores web como:  OperaBraveVivaldiMaxthon y Microsoft Edge (desde 2020)

Rendimiento

El rendimiento de Google Chrome es alto en prácticamente todos los sistemas operativos y dispositivos en los que está presente. Para mantener este rendimiento, además del motor de JavaScript y renderizado, Google ha creado diferentes protocolos de red que han acabado siendo adoptados por el resto de navegadores, como SPDY y QUIC que han derivado en HTTP/2 y HTTP/3.

No hay que olvidar, además, que Google ha definido estándares y liberado herramientas para analizar el rendimiento de las páginas web. De esta manera recibe un enorme feedback que le permite identificar los puntos que mejorar a nivel de navegador.

En el artículo original pueden verse múltiples gráficos con mediciones de rendimiento.

Seguridad

La seguridad es otro de los puntos importantes presentes en el navegador de Google y se beneficia directamente de su arquitectura multiproceso. De esta manera es posible aislar posibles procesos maliciosos, sin que lleguen a afectar al resto de etiquetas durante la ejecución. Este concepto se mejoró en 2018, con la introducción del Site Isolation, manteniendo un proceso por cada página web, permitiendo aislar incluso los iframes.

Esta obsesión por la seguridad ha hecho que partes del código de Google Chrome se hayan migrado de C++ a Rust, para gestionar de manera más segura la gestión de memoria que era el origen del 70% de los errores detectados. Además Google Chrome tiene un agresivo programa de recompensas para la caza de bugs.

Google Chrome ha integrado activamente avisos sobre técnicas de ingeniería social, para proteger a sus usuarios. El gestor de contraseñas (aunque no es mi solución favorita y prefiero una herramienta externa al navegador) se integra en la cuenta Google y está disponible también en los dispositivos móviles. No hay que olvidar que Google fue el principal impulsor para que el estándar HTTPS reemplazara a HTTP.

El último añadido ha sido la Web Authentication que permite la autenticación a través de dispositivos móviles u otras herramientas que permitan confirmar la identidad del usuario.

Estabilidad

Esta parte del artículo es muy didáctica y está explicada al detalle, pero la voy a resumir con una simple pregunta ¿recuerdas la última vez que se cerró o colgó inesperadamente tu navegador Google Chrome?

Usándolo a diario y con prácticamente 25-30 pestañas abiertas, no lo recuerdo. De hecho, lo reinicio para que se actualice.

En todo caso, la base de la estabilidad de Google Chrome ha sido optimizar su gestión de memoria para no saturarla durante su ejecución. Es muy tentador eso de abrir 50 pestañas, más de 100 he llegado a tener en el móvil.

Google Chrome también ha sido el navegador que fue abriendo la caja de pandora para eliminar el soporte a plugins que permitían ejecutar aplicaciones en el navegador ¿Quién no se acuerda de Flash o Java?

Además de la tecnología, también influyen los procesos, los programas de lanzamiento de Google Chrome incluyen las versiones Canary, que se lanzan previamente a la versión final y permiten probar las nuevas funcionalidades. Los ciclos de actualización se han acortado a cuatro semanas, eso significa que al menos una vez al mes se recibe una versión nueva del navegador.

Simplicidad como principios en su UI y diseño

Otro de los aspectos destacables de Google Chrome es su interfaz de usuario y diseño. Sin lugar a dudas marcó una tendencia que han seguido otros navegadores. Un estilo basado en un principio de simplicidad y posteriormente, desde 2010 utilizando la librería gráfica Material como base.

Por supuesto, en 17 años, el aspecto visual de Google Chrome ha ido cambiando, las interacciones también, pero sigue manteniendo la simplicidad inicial. Tal vez, donde más se nota esta visión es en su versión móvil, sobre todo si lo utilizamos con dispositivos Android.

Para añadir funcionalidades (o complejidad) en 2009 se introdujeron las extensiones. A día de hoy hay extensiones que integran programas, sitios web, que mejoran la usabilidad, añaden nuevas funciones, etc.. su valor es incalculable y dudo mucho que encontréis una instalación de Google Chrome sin alguna extensión activada.

Todo lo que necesitas en Google Chrome

En este punto se hace un recorrido por como Google Chrome ha ido estando disponible cada vez en más sistemas operativos y plataformas. De hecho, si quitamos los dispositivos móviles de Apple, donde el navegador dominante es Safari y alguna distribución de Linux que tenga otro navegador instalado en su instalación, Google Chrome es el navegador más utilizado.

Esto le ha valido diversas demandas (como en las que en su día tuvo que hacer frente Microsoft por Internet Explorer) Hasta hace unas pocas semanas se barajaba que alguna de las nuevas empresas de IA que han surgido pudiera comprar esta parte del pastel a Alphabet (aka Google)

Google Chrome es la base de Chrome OS, el cual, según las últimas noticias podría fusionarse con Android y gracias a una alianza con Qualcomm dar origen a una nueva familia de ordenadores y dispositivos (pero esa es otra historia que tengo pendiente de contar)

Soporte a la plataforma web

Como desarrollador, sin lugar a dudas, uno de los puntos más destacables y de las aportaciones más importantes de Google Chrome ha sido la adaptación continúa de nuevos estándares o tecnologías web. Como bien indica Addi, la percepción de este navegador va más allá de la navegación web.

El concepto de plataforma para la ejecución de aplicaciones web viene acompañado de la integración de numerosas APIs y funcionalidades, como las PWA. También ha habido algunos conceptos e iniciativas que no han ido tan bien, como AMP.

Aún así la lista de funcionalidades soportadas e introducidas por Google Chrome es bastante amplia: service workers, notificaciones push, sincronización en segundo plano, WebRTC, Audio API, File System Access API,Web Bluetooth y WebUSB, Serial API, Sensor API (para gestionar el giroscopio y otros sensores en dispositivos móviles)

También se han introducido funcionalidades a nivel gráfico como WebGL y WebGPU. Soporte para WebAssembly que permite ejecutar aplicaciones de manera casi nativa dentro del navegador.

El siguiente paso es la integración de la Privacy Sandbox API. Curioso que Google se preocupe a nivel de ejecución por la privacidad de los usuarios y luego ellos la dejen en segundo plano a la hora de ofrecerte publicidad o resultados con su algoritmo (aunque de momento no son tan agresivos como Meta)

Aunque Addi no lo indica en este apartado, creo que uno de los mayores aportes técnicos de Google Chrome fueron las Devtools (seguramente porque él trabaja en ese departamento) Las herramientas para desarrolladores de Google Chrome sinceramente, son la utilidad que más utilizo en mi día a día como desarrollador web. Tanto para encontrar errores, analizar el rendimiento, realizar cambios visuales y ver como quedan..

La era de la IA: Chrome y Gemini

En este caso sí que me voy a beneficiar por haber tardado casi mes y medio en escribir este artículo. En cada nueva versión, la integración de Gemini es mayor y supone el colofón a los 17 años de Google Chrome, al menos de momento.

Lo que empezó como un asistente para organizar las pestañas ha ido creciendo con una herramienta para generar temas gráficos y otra que sirve como asistente a la hora de generar textos. Además de esas utilidades para el navegador, si se usa con otras aplicaciones de Google, la utilidad de Gemini aumenta.

Personalmente, en mi día a día puedo usarla para tener resúmenes de los mensajes de correo en Gmail, resúmenes de las reuniones de Google Meet, ayuda en la generación de textos y refinamiento en Google Docs, etc..

Este asistente también está disponible en el navegador, permitiendo resumir sitios web. Además se puede acceder a él a nivel de desarrollo con diversas APIs que se han integrado.

Volviendo a Google Chrome, el uso de IA se ha extendido a las Herramientas del desarrollador, haciendo mucho más intuitiva su utilización. Ahora se puede preguntar a la IA para que te ayude a encontrar errores o que realice cambios para comprobar su efecto.

La integración de la IA también permite mejorar la seguridad ya que permite identificar sitios fraudulentos o que contengan potenciales amenazas para los usuarios.

Como contrapeso a darle todo este poder a la IA está la información que compartimos con ella y como la gestionará Google. Indudablemente, todo tiene un coste y en la época en la que vivimos son nuestros datos y su futura comercialización.

Todas estas nuevas funcionalidades de IA son experimentales, aunque algunas se empezaron a introducir a finales de 2023.

Conclusión y futuro de Google Chrome

Como colofón del excepcional artículo sobre los 17 años de Google Chrome, Addi analiza el trabajo que Google hace de cara al crecimiento de la web. Se centra sobre todo en la aportación de Google Chrome a través del proyecto Chromium.

La implantación y uso de la IA, las herramientas tanto a nivel de desarrolladores, como de análisis y rendimiento, las continuas mejoras y aportaciones / adaptaciones de nuevos estándares. Su compromiso con la seguridad (que no privacidad)

Está claro que desde dentro, todo se ve de color de rosa. Fuera, en la jungla, los usuarios queremos control sobre nuestros datos, transparencia en los algoritmos y que se cumplan regulaciones simples que eviten que unas pocas empresas tecnológicas acaben controlando la red.

De momento Google Chrome sigue formando parte de Alphabet y es un pilar clave de la estrategia de la compañía. Además tiene un papel clave en el mantenimiento de los estándares que definen la evolución de la web.

Lo que sí que es innegable es que el tiempo pasa volando, porque parece que fue ayer cuando únicamente teníamos dos navegadores y dos empresas peleando por convencer a los usuarios.

Deja una respuesta