Un motor de navegador (también conocido como motor de diseño o motor de renderizado ) es un componente de software central de todos los navegadores web principales . La función principal de un motor de navegador es transformar documentos HTML y otros recursos de una página web en una representación visual interactiva en el dispositivo de un usuario .
Además de " motor de navegación ", se utilizan habitualmente 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 "pintado") 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 sí solos fuera del motor de navegación. [1] [4]
Además del diseño y la representación, un motor de navegador aplica la política de seguridad entre documentos, maneja la navegación a través de hipervínculos y datos enviados a través de formularios e implementa el Modelo de Objeto de Documento (DOM) expuesto a los scripts asociados con el documento. [1] [4]
Todos los navegadores principales admiten JavaScript para proporcionar una amplia gama de comportamientos dinámicos para las páginas web . Sin embargo, JavaScript se implementa como un motor JavaScript independiente , lo que ha permitido su uso en otros lugares . En un navegador, los dos motores se coordinan a través de los enlaces DOM y Web IDL . [4]
Los motores de navegador también se utilizan en aplicaciones que no son de navegador . Un cliente de correo electrónico necesita uno para mostrar correos electrónicos en formato HTML . A partir de la década de 2010, se han creado muchas aplicaciones con los marcos 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]
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 establecen 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 para la representación visual que pintará en la pantalla. [1] [4]
Algunos motores pueden comenzar a renderizar antes de que se descarguen los recursos de una página. Esto puede generar cambios visuales a medida que se reciben más datos, como imágenes que se van completando gradualmente o un destello de contenido sin estilo . [7]
Sólo se muestra la duración del desarrollo activo, que es cuando se siguen añadiendo nuevos estándares web relevantes al motor.
Aquí se encuentran las fuentes del excelente marco de trabajo Chromium Embedded que utiliza el cliente de escritorio de Spotify.
todos los navegadores deben construirse sobre el motor de renderizado WebKit.