Articulo de referencia

Motor de navegador

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 func...

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

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. 1 2 3 4 "Detrás de escena de los navegadores web modernos" . Tali Garsiel . Consultado el 21 de abril de 2018 .
  2. 1 2 "Gecko" . Mozilla. Archivado del original el 4 de junio de 2014. Recuperado el 21 de abril de 2018 .
  3. "Presentando a Goanna" . MC Straver. 22 de junio de 2015. Consultado el 21 de abril de 2018 .
  4. 1 2 3 4 "Cómo funciona Blink" . Consultado el 12 de marzo de 2024 .
  5. "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.
  6. 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 .
  7. 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 .
  8. 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 .
  9. "¡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.
  10. Tim Hardwick (24 de octubre de 2024). "iOS 18.2 permitirá aplicaciones web de navegadores de terceros con motores personalizados en la UE" . MacRumors .
  11. 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 .
  12. Mendelevich, Alan (14 de mayo de 2021). "¿Crees que puedes olvidarte del "heredado" Microsoft Edge? ¡No tan rápido!" .
  13. 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 .