El motor que pudo: cómo Chromium logró capturar el 90% del mercado de navegadores



Desde el motor del navegador que inicialmente era una alternativa poco conocida utilizada en un navegador impopular, hasta el campeón que se apoderó de todo el mercado.



Probablemente, a veces te encuentras con el concepto de diversidad de navegadores en los textos.... Se refiere al equilibrio en la plataforma web en el que existen muchas implementaciones de navegadores en el mundo, suficientes para estimular la innovación y la competencia entre ellas. La alternativa es el monocultivo de navegadores, en el que un navegador o implementación de navegador controla todo el mercado y, por lo tanto, impulsa el desarrollo de la web. Cuando alguien promueve la diversidad de navegadores, a menudo lo hace por el bien de un proceso de creación de estándares web independientes mantenidos por el W3C, que solo funciona cuando ningún navegador puede dictar las características que se incluyen en la plataforma web.



La comunidad web tiene motivos suficientes para temer la falta de diversidad de navegadores. Después de que Internet Explorer capturó el 90% del mercado de navegadores a principios de la década de 2000, a sus desarrolladores les llevó media década lanzar un nuevo navegador. Durante este período, el desarrollo de la web se detuvo y comenzaron a surgir problemas de seguridad. Esto ha empeorado la web, por lo que a menudo queremos que los navegadores compitan en lugar de monopolizar la web.



Pero este problema también tiene una desventaja. Debido a la existencia de varios fabricantes de navegadores, los desarrolladores web deben asegurarse de que todas las plataformas sean compatibles. Puede haber pequeñas inconsistencias entre los navegadores, lo que puede complicar el desarrollo de la web.



Este preocupado creador web Tim Berners-Lee. Incluso a principios de los 90, cuando la web era muy joven, empezaron a aparecer decenas de navegadores en todo el mundo a medida que los desarrolladores de software experimentaban. A Berners-Lee le preocupaba que demasiados navegadores hicieran más difícil probar sitios y llegar a un consenso sobre cómo analizar y entregar HTML a los usuarios.



En 1992, Tim Berners-Lee expresó su preocupación en la lista de correo de hipertexto.



8 12 , . (, , ! , , (, ), . , ; , , , .


Berners-Lee reconoció que múltiples implementaciones pueden requerir demasiado esfuerzo por parte del desarrollador web, por lo que los desarrolladores podrían verse tentados a evitar este problema por completo y solo probar en el navegador más popular (no tenía idea de que un problema similar ocurriría con frecuencia en la web). -desarrollo ). Es decir, incluso sin un monopolio, demasiados navegadores pueden inundar el mercado y crear un ganador real contra el cual se crearán estándares sin tener en cuenta todos los demás. Garantizar la coherencia de todas las implementaciones de navegadores fue el motivo de la creación del W3C y la promoción de un conjunto de estándares comunes en tecnologías web.



La preocupación de Berners-Lee estaba bien fundada. Ha habido ocasiones en que los navegadores han seguido su propio camino, lo que ha obligado a los diseñadores web a jugar con las páginas para que las páginas se vean iguales en todas partes. En los últimos años, un proceso de estandarización bien establecido ha resuelto en gran medida el problema de las inconsistencias entre navegadores al crear un proceso claro para agregar nuevas capacidades web, asegurando el equilibrio en el proceso de toma de decisiones.



La base fundamental para crear un grupo diverso de navegadores es el desarrollo de motores de navegador completamente diferentes. El motor del navegador es el código dentro del navegador que toma el código que escribe y lo representa en la página. En un nivel más técnico, analiza HTML, CSS y JavaScript para manejar la estructura y la representación de páginas web.... El motor generalmente incluye un motor de JavaScript que maneja la interactividad. La mayoría de las veces, cuando se habla de un motor de navegador, se habla del motor de JavaScript asociado, pero no siempre es así.



Antes de que los fabricantes de navegadores comenzaran a usar estándares web, durante las "guerras de navegadores", hubo una década de dominio sobre el navegador Internet Explorer de Microsoft. Internet Explorer utilizó un motor de navegador propietario de Microsoft llamado Trident. Internet Explorer se distribuyó de forma gratuita y se instaló de forma predeterminada en todas las computadoras con Windows. Debido a su velocidad de distribución, Trident se ha convertido en el motor de navegador más utilizado durante muchos años.



Sin embargo, varios navegadores de código abierto más pequeños pronto comenzaron a ganar popularidad. El más popular de ellos fue Mozilla Firefox (basado en Netscape), que usaba un motor llamado Gecko. Opera se quedó un poco atrás con su motor de navegador Presto. Una pequeña comunidad se enamoró del navegador KHTML de Konqueror, que tenía una pequeña participación en el mercado de navegadores.



El código fuente de todos estos motores de navegación, con la excepción de Presto, era de código abierto, lo que significaba que estaba disponible para cualquier persona y podía usarse en cualquier proyecto. Esto estimuló la colaboración y la competencia sana entre estos nuevos navegadores, lo que favoreció el proceso de estándares web dirigido por el W3C. Y gracias al código abierto, ha aparecido en el mercado una gran cantidad de pequeños navegadores especializados, construidos sobre la base de los mismos motores de navegador.



La ausencia de Apple en esta lista es digna de mención. En 2003, parecía que la empresa había pasado por alto por completo la plataforma web. Intentó sin éxito crear su propio navegador llamado Cyberdog. Sin un navegador nativo para su sistema operativo, las computadoras Apple venían con Internet Explorer, lo que las vinculaba con uno de sus competidores más serios: Microsoft.



Pero luego comenzaron a circular rumores de que Apple estaba trabajando en un nuevo navegador. Varios veteranos de Mozilla se unieron a la compañía, contribuyendo en nombre de Apple a la versión de código abierto para Mac de Firefox. Y después del primer experimento que falló, las herramientas y las implementaciones son mucho mejores. Ya existían muchas soluciones maduras de código abierto.



Inicialmente, se asumió que Apple elegiría Mozilla Gecko como motor de su navegador. Ella ya tenía las personas adecuadas y la experiencia con él, y el motor se utilizó en la gran mayoría de los proyectos de navegadores, incluido un navegador Mac llamado Camino, desarrollado por un equipo independiente que no pertenece a Apple. Algunos pensaron que Apple podría elegir Presto a través de algún tipo de acuerdo de licencia.



Steve Jobs concluyó su discurso de apertura en Macworld 2003 con un anuncio tan esperado: Apple está creando su propio navegador llamado Safari. Y para sorpresa de todos, utilizará el motor de Konqueror. No Gecko, no Presto. KHTML. La noticia fue grande y, durante las siguientes dos décadas, cambió la trayectoria de la web.





El navegador Konqueror que se ejecuta en el escritorio KDE



El navegador Konqueror es una de las muchas aplicaciones que forman parte del escritorio KDE para computadoras Linux. Estrictamente hablando, no es un sistema operativo, sino un paquete de software que se ve y se comporta como un sistema operativo. El acrónimo originalmente significaba Kool Desktop Environment, pero luego se redujo simplemente a KDE. Konqueror es uno de los programas dentro de KDE. Y KHTML es el motor en el que se ejecuta Konqueror. Al igual que el propio Linux, todo KDE es de código abierto, incluido su navegador, y la comunidad de desarrolladores se ha adherido a los principios del código abierto desde sus inicios.



Por eso es importante que el anuncio de Apple incluya esta diapositiva:





En su anuncio de su elección de KHTML, Apple declaró su compromiso con las ideas de código abierto. El equipo de desarrollo de Safari se ha comprometido a realizar los cambios que realice en el proyecto KHTML siempre que sea posible. Al adaptar el motor, Apple lo dividió en dos partes: WebCore, que se ocupa de la representación y la estructura, y JavaScriptCore, que se ocupa de JavaScript. Ambas partes se convirtieron en proyectos de código abierto, pero el rastreador de errores de Safari y los elementos del motor del navegador permanecieron cerrados. Sin embargo, este nivel de transparencia fue sorprendente para una empresa conocida por guardar sus secretos.



La primera versión pública de Safari se lanzó al mismo tiempo que el anuncio, en enero de 2003. Poco después, Safari comenzó a distribuirse como el navegador predeterminado para todas las Mac. Durante uno o dos años, Safari ha ocupado constantemente del dos al tres por ciento del mercado de navegadores. No fue suficiente para dominar, pero dio peso al equipo de desarrollo de Apple.



A pesar de la promesa hecha a la comunidad de código abierto, a los desarrolladores de Safari inicialmente les resultó difícil trasladar sus cambios al proyecto KTHML. Parte del código era específico del sistema operativo Mac. Otras partes eran simplemente incompatibles con el código base existente. Esto llevó a un ligero desacuerdo entre el equipo de Apple y los coautores de KHTML durante un par de años.



Con el tiempo, se encontró un compromiso que se adaptaba a todos. En junio de 2005, Apple fusionó JavaScriptCore, Webcore y el resto del motor del navegador, lanzándolos como un solo proyecto de código abierto con un rastreador de errores público y una llamada para contribuir. De esta manera, la empresa mostró a la comunidad KHTML que estaba lista para colaborar manteniendo la independencia del código.



El proyecto se llamó Webkit.



El momento fue crítico. La web como plataforma se desarrolló rápidamente y se encontraba en la etapa de la Web 2.0. En general, Web 2.0 fue solo un buen término de marketing, un intento de nombrar el creciente número de aplicaciones sofisticadas que existen exclusivamente en la web. Incluye las dos primeras aplicaciones web de Google: Google Maps y Gmail. Google agregó YouTube a la lista en un año.



A mediados de la década de 2000, los ingenieros de Google examinaron más de cerca los navegadores y descubrieron que no podían satisfacer la necesidad de crear aplicaciones complejas. Esto fue especialmente cierto para los navegadores más antiguos y desatendidos como Internet Explorer (por cierto, YouTube también ayudó a alentar a los usuarios a abandonar IE6 ). Pero la máxima prioridad de Google era la velocidad. Los cofundadores de la empresa expresaron una vez su deseo de crear "la web tan rápido como hojear una revista en papel". Ese era el objetivo de la empresa, y Google sintió que incluso los navegadores modernos como Firefox y Safari no se estaban acercando lo suficiente.



En 2006, la compañía comenzó a hacer planes para construir su propio navegador. Quería el navegador más rápido del mercado. Después de experimentar con una variedad de motores de navegador, los desarrolladores de Google dirigieron su atención al proyecto Webkit, que pasó al código abierto. Su código era compacto y legible, y su intensidad de recursos se mantuvo relativamente baja en comparación con motores con una rica historia como Gecko o Trident (este último no se consideró de todos modos debido a su código fuente cerrado). Pero lo más importante, fue rápido. Como punto de partida, era más rápido que todos los demás motores.



Si el equipo de Safari no hubiera decidido abrir la fuente de su motor de navegador en este momento, la historia podría haberse desarrollado en una dirección completamente diferente. Pero los desarrolladores hicieron esto, por lo que Google examinó esta posibilidad y decidió utilizar el motor. Durante los dos años siguientes, comenzó a trabajar en una implementación nueva e incluso más rápida de Webkit.



Su primer paso fue deshacerse de JavaScriptCore y reemplazarlo con su propio motor JavaScript llamado V8, que lleva el nombre del poderoso motor de pistón. Como sugiere el nombre, el V8 fue rápido. En el momento del lanzamiento, resultó ser diez veces más eficaz que JavaScriptCore. Logró esta velocidad trabajando en una máquina virtual y una forma ligeramente diferente de ejecutar el código, haciéndolo modular e independiente del resto del motor del navegador. Por cierto, después de un par de años, esta modularidad hizo posible crear el lenguaje de programación Node: sus desarrolladores tomaron el motor V8, se deshicieron del navegador y lo pusieron en el servidor.



Lo segundo que ha hecho Google es agregar una arquitectura multiproceso a su navegador. Hay mucho que decir sobre el multiprocesamiento, pero se explica mejor utilizando las pestañas del navegador como ejemplo. Anteriormente, cuando una pestaña fallaba, todo el navegador fallaba. Sin embargo, Google pudo forzar los procesos en cada pestaña para que se ejecutaran de forma independiente, de modo que solo una pestaña fallara a la vez. Después del lanzamiento del navegador, este se convirtió en su principal atractivo. También resultó ser una decisión importante porque supuso una gran desviación de la forma en que Webkit solía funcionar. Pronto, esta decisión volverá a atormentar a la empresa.



En septiembre de 2008, Google anunció oficialmente su proyecto de navegador al público. La compañía combinó el anuncio con el webcomic Nerd de Scott McCloud., que detalló todos los detalles técnicos del proyecto. El navegador podía procesar los sitios web más rápido del mercado y, gracias a su arquitectura de multiprocesamiento, podía mantener las páginas activas incluso cuando otro sitio estaba congelado. Esto sucedió en los días en que los navegadores todavía estaban sobrecargados con barras de herramientas y complementos, así como con paquetes de grandes empresas que también incluían correo. El nombre que Google le dio a este proyecto también estaba en línea con el concepto. En el mundo de los navegadores, el término "cromo" (cromo) significa todo lo adicional que rodea una página web: la barra de direcciones, las barras de herramientas y los menús de archivos. Google se deshizo de la mayor parte de esta basura, por lo que llamó al navegador Google Chrome, con la esperanza de que el enfoque en la simplicidad y el rendimiento valga la pena.





El fragmento de Webcomic que lo inició todo



Aparte del algoritmo de búsqueda de código cerrado, Google ha contribuido a proyectos de código abierto y ha creado otros nuevos durante muchos años. Habiendo entendido la lección de Apple, la compañía fue más allá en el desarrollo de Chrome. El mismo día que se anunció Google Chrome, la compañía puso a disposición todo el motor como un proyecto de código abierto llamado Chromium. Estas no son solo algunas extensiones de Webkit. No es solo un motor de renderizado. Todo quedó abierto: Webkit, el motor JavaScript V8 y todo el código del propio navegador. Con poco esfuerzo, cualquier desarrollador podría complementar Chromium y lanzar su propio navegador. Después de su lanzamiento, le pasó a muchos navegadores .



2008 fue un gran año para la web. En el mismo mes en que se lanzó Chrome, Google mostró un prototipo de su plataforma operativa móvil Android, ensamblado a partir de varios proyectos de código abierto. También incluía la versión móvil de Google Chrome. Esto sucedió poco más de un año después del lanzamiento oficial del iPhone, que venía con una versión modificada de Safari. Cuando Steve Jobs se propuso acabar con Flash de forma irrevocable y convertir la plataforma web nativa en una prioridad máxima, estos dispositivos ya estaban en todas partes.



Es decir, ahora Safari o Chrome funcionaban en todos los dispositivos móviles inteligentes. El propio Safari, gracias en su totalidad a las compras de iPhone, ha duplicado su cuota de mercado en tan solo unos años. La popularidad de Chrome creció aún más rápido. Al usar Chromium, tiene acceso a una lista en constante expansión de navegadores independientes y proyectos de navegadores. Además, Chromium se ha convertido en la columna vertebral del lenguaje de programación Node y el marco de la aplicación de escritorio Electron.



Y todos estos proyectos funcionaron gracias a Webkit. A lo largo de los años, ha pasado de capturar una pequeña parte del mercado de los navegadores a dominarlo.



Este estado de reposo duró poco. En abril de 2013, Google anunció inesperadamente que bifurcaría el proyecto Webkit en un nuevo motor llamado Blink. Google Chrome y el proyecto Chromium se trasladarán a este nuevo motor.



Hubo varias razones para esta transición, pero la más importante nos devuelve al tema del multiprocesamiento. Durante varios años, Google ha estado ampliando Webkit para agregar multiprocesamiento a sus navegadores, que se ha convertido en una característica fundamental y la base para el crecimiento del rendimiento de los navegadores Chromium. En 2013, se suponía que el proyecto Webkit lanzaría una nueva versión del motor, que también mejoró el multiprocesamiento. El problema era que su implementación se volvería completamente diferente e incompatible con la implementación en Chrome. Ya usaba un motor de JavaScript diferente y este nuevo cambio habría alejado demasiado a Chromium del proyecto original. El núcleo de Blink todavía tenía que hacerlo y sigue siendo Webkit. Pero tomará un camino diferente y creará un nuevo proyecto para sí mismo.



En este punto, la web se ha vuelto más compleja de lo que nadie imaginaba. El problema planteado por primera vez por Berners-Lee (demasiados desarrolladores independientes que construyen sus propios motores de navegador) ya no era un problema. Ahora se necesitaban equipos grandes para construir y mantener el motor del navegador. Con la expansión de la plataforma web y el fortalecimiento de sus estándares, la complejidad de convertir un sitio web en una página ha crecido exponencialmente. El navegador tuvo que ejecutar innumerables sitios, codificados de innumerables formas para coincidir más o menos con todos los demás navegadores.



Después de ese punto, los motores de los navegadores comenzaron a desaparecer.



Dos meses antes del lanzamiento de Blink, Opera anunció que estaba abandonando su propio motor Presto y moviendo su navegador a Chromium. Cuando Google anunció la bifurcación, Opera se unió a ella. En mayo de 2013, lanzó su primer navegador basado en Blink.



Mientras tanto, Microsoft se ha quedado con su propio motor de código cerrado durante años. Trident se ha convertido en un motor llamado EdgeHTML creado para el navegador Microsoft Edge, lanzado por primera vez en 2015. Pero invertir en el desarrollo de un motor independiente ha resultado demasiado difícil en un mercado de navegadores ya abarrotado. En 2019, la compañía anunció que también se mudaría a Blink. Desde entonces, también se ha lanzado este navegador.



Los descendientes de KHTML, es decir, los navegadores con motores de la familia Blink / Webkit, son utilizados por más del 90% de los usuarios. Desde prácticamente el olvido hasta el 90% de la cuota de mercado en quince años, es un logro asombroso. Y tuvo consecuencias.



Blink y Webkit son dos motores diferentes y hay bastantes diferencias en su código fuente. Pero utilizan el mismo enfoque para representar páginas web, y la mayor parte del código dentro del proyecto sigue siendo el mismo. Esto significa que en la etapa actual, de hecho, quedan dos grupos de motores de navegador: la familia Blink / Webkit y el navegador Firefox Gecko. Incluso si separa Blink y Webkit, solo quedan tres.



Y eso nos devuelve al tema de la diversidad de navegadores. La innovación en la tecnología de los navegadores no ha desaparecido y, afortunadamente, todo navegador serio está comprometido con el proceso de estandarización web. Sin embargo, si la comunidad Blink y Webkit decide que quieren mover la web en una dirección determinada, tienen todo el poder que necesitan para hacerlo. Esto es cierto incluso hoy en día, a pesar de que Gecko todavía se aferra.



Jeffrey Zeldman lo resumió bien en el momento en que Microsoft decidió mudarse a Blink:



Cuando una empresa decide qué ideas vale la pena apoyar y cuáles no, qué problemas de acceso son importantes y cuáles no, sofoca la innovación, destruye la competencia y abre oportunidades para excluir a las personas de trabajar con información digital.


Desde una perspectiva histórica, la trayectoria de desarrollo de Webkit es un milagro. Y surgió gracias a la apertura y el apoyo de la comunidad. Pero es igualmente importante mantener la diversidad y la innovación de los navegadores.



Esta publicación cubre cinco hitos en la historia de la web.



  • 3 de abril de 2013. Creando Blink como una bifurcación del proyecto Webkit. El motor de renderizado Blink se utiliza en navegadores basados ​​en Chromium, incluido Google Chrome. Webkit sentó las bases de su código base, pero maneja tareas de multiprocesamiento y contiene el motor JavaScript V8.
  • 2 2008 . Google Chrome, . , Google . , .
  • 7 2005 . Webkit — Apple , : WebCore JavaScript- JavaScriptCore. Apple, Google Webkit .
  • 7 2003 . Safari — Apple , . Mac Internet Explorer Microsoft. KHTML, Webkit.
  • 23 2000 . Konqueror — KDE Konqueror 2. KDE , Konqueror . , , Apple Safari Google Chrome.









Publicidad



Nuestra empresa ofrece servidores seguros con protección DDoS gratuita . La capacidad de utilizar un servidor Windows con licencia en planes con 2 GB de RAM o más, crear copias de seguridad del servidor automáticamente o con un solo clic.



Usamos unidades de servidor extremadamente rápidas de Intel y no ahorramos en hardware, solo equipos de marca y algunos de los mejores centros de datos de Rusia y la UE. Date prisa para comprobarlo.






All Articles