El motor del navegador (también conocido como motor de renderizado o de maquetación ) es un componente de software fundamental en todos los navegadores web importantes . Su función principal es transformar los documentos HTML y otros recursos de una página web en una representación visual interactiva en el dispositivo del usuario .
Nombre y alcance
Además de « motor del navegador », se utilizan comúnmente otros dos términos relacionados: «motor de diseño» y «motor de renderizado». [ 1 ] [ 2 ] [ 3 ] En teoría, el diseño y el renderizado (o «pintura») podrían ser gestionados por motores diferentes. Sin embargo, en la práctica, estos componentes están estrechamente acoplados y rara vez se encuentran por separado fuera del motor del navegador. [ 1 ] [ 4 ]
Además del diseño y la representación, un motor de navegador aplica la política de seguridad entre documentos, gestiona la navegación a través de hipervínculos y los datos enviados mediante formularios , e implementa el modelo de objetos de documento (DOM) expuesto a los scripts asociados con el documento. [ 1 ] [ 4 ]
Para proporcionar una amplia gama de comportamiento dinámico a las páginas web , todos los navegadores principales admiten JavaScript . Sin embargo, JavaScript se implementa como un motor JavaScript independiente , lo que ha permitido su uso en otros entornos . En un navegador, ambos motores se coordinan mediante los enlaces DOM y Web IDL . [ 4 ]
Los motores de navegador también se utilizan en aplicaciones que no son navegadores . Un cliente de correo electrónico necesita uno para mostrar correos electrónicos en HTML . A partir de la década de 2010, se crearon muchas aplicaciones con los marcos de trabajo basados en el proyecto Chromium de Google ; cada una de estas aplicaciones independientes funciona de manera muy similar a una aplicación web . (Dos ejemplos son Spotify y Slack ). [ 5 ] [ 6 ]
Diseño y representación
El diseño de una página web se especifica normalmente mediante hojas de estilo en cascada (CSS). Cada hoja de estilo es una serie de reglas que definen cómo debe presentarse la página. Por ejemplo, algunas reglas especifican detalles tipográficos , como la fuente , el color y el tamaño del texto, mientras que otras determinan la ubicación de las imágenes. El motor combina todas las reglas CSS relevantes para calcular las coordenadas gráficas precisas y los valores de píxeles de la representación visual que mostrará en la pantalla. [ 1 ] [ 4 ]
El motor actualiza la representación visual en respuesta a nuevos eventos, como el desplazamiento del usuario por la página, la obtención asíncrona de contenido , la reproducción de vídeo y las animaciones del lienzo . También puede comenzar a renderizar antes de que se descarguen los recursos de la página, lo que puede provocar cambios visuales a medida que se reciben más datos, como el llenado gradual de imágenes o un destello de contenido sin estilo . [ 7 ]
Motores destacados
- Apple creó el motor WebKit para su navegador Safari mediante una bifurcación del motor KHTML del proyecto KDE . [ 8 ] Apple exige que todos los navegadores en la App Store para iOS utilicen WebKit como motor. [ 9 ] (En 2024, se eliminó la obligatoriedad para la Unión Europea y en 2025 para Japón , pero aún se aplica en otros lugares. [ 10 ] )
- Google originalmente usó WebKit para su navegador Chrome , pero finalmente lo bifurcó para crear el motor Blink . [ 11 ] Todos los navegadores basados en Chromium usan Blink, al igual que las aplicaciones creadas con CEF , Electron o cualquier otro marco que incorpore Chromium.
- Microsoft tiene dos motores propietarios : Trident y EdgeHTML . Trident, también llamado MSHTML, se utiliza en el navegador Internet Explorer . EdgeHTML, al ser una bifurcación de Trident, fue el motor original del navegador Edge (ahora llamado Edge Legacy ); todavía se encuentra en algunas aplicaciones UWP . [ 12 ] El nuevo Edge, basado en Chromium, se rediseñó con el motor Blink. [ 13 ]
- Mozilla desarrolla el motor Gecko para su navegador Firefox y el cliente de correo electrónico Thunderbird . [ 2 ]
El siguiente gráfico muestra la duración del desarrollo activo (cuando se siguen añadiendo nuevos estándares web relevantes) para cada motor de esta sección. Cabe destacar que Gecko, WebKit y Blink aún se encuentran en fase de desarrollo activo.

Véase también
Referencias
- 1 2 3 4 "Detrás de escena de los navegadores web modernos" . Tali Garsiel . Consultado el 21 de abril de 2018 .
- 1 2 "Gecko" . Mozilla. Archivado del original el 4 de junio de 2014. Recuperado el 21 de abril de 2018 .
- ↑ "Presentando a Goanna" . MC Straver. 22 de junio de 2015. Consultado el 21 de abril de 2018 .
- 1 2 3 4 "Cómo funciona Blink" . Consultado el 12 de marzo de 2024 .
- ↑ "Código abierto - Spotify" . Consultado el 1 de diciembre de 2023.
Aquí están las fuentes del excelente marco de trabajo Chromium Embedded Framework que utiliza el cliente de escritorio de Spotify.
- ↑ Betts, Anaïs (25 de octubre de 2016). "Creación de aplicaciones híbridas con Electron" . Slack Engineering . Slack . Consultado el 1 de diciembre de 2023 .
- ↑ Boudreaux, Ryan (18 de octubre de 2013). "Cómo evitar el destello de contenido sin estilo en sus sitios web" . TechRepublic . Archivado del original el 5 de marzo de 2021. Recuperado el 9 de octubre de 2021 .
- ↑ Paul Festa (14 de enero de 2003). "El desaire de Apple perjudica a Mozilla" . CNET Networks . Archivado del original el 25 de octubre de 2012. Consultado el 16 de febrero de 2017 .
- ↑ "¡Liberen Chrome como código abierto en iOS!" . 2017 . Consultado el 26 de abril de 2021 .
Debido a las limitaciones de la plataforma iOS, todos los navegadores deben estar construidos sobre el motor de renderizado WebKit.
- ↑ Tim Hardwick (24 de octubre de 2024). "iOS 18.2 permitirá aplicaciones web de navegadores de terceros con motores personalizados en la UE" . MacRumors .
- ↑ Bright, Peter (3 de abril de 2013). "Google sigue su propio camino, bifurcando el motor de renderizado WebKit" . Ars Technica . Conde Nast . Recuperado el 9 de marzo de 2017 .
- ↑ Mendelevich, Alan (14 de mayo de 2021). "¿Crees que puedes olvidarte del "heredado" Microsoft Edge? ¡No tan rápido!" .
- ↑ Mackie, Kurt (10 de diciembre de 2018). "El navegador Microsoft Edge tendrá un nuevo motor de renderizado, pero EdgeHTML continuará" . Redmond Mag . Recuperado el 21 de diciembre de 2019 .
- Motores de navegador