Escrito por Sumiciu el miércoles, 1 ochobre de 2008
(Continuamos la serie de artículos con la revisión a los aspectos más relevantes, en mi opinión, de Google Chrome, puedes ver el artículo anterior)
Hablábamos en la entrada anterior del novedoso modelo de pestañas asociadas a procesos independientes con el fin de aislar los diferentes sitios entre los que navegamos en la misma sesión.
Sobre los modelos de proceso de renderizado relacionados con las pestañas, cabe destacar que Chromium (el nombre del código liberado de Chrome) soporta 4. Por defecto, utiliza un proceso distinto por cada instancia de un sitio web. Pero se le puede especificar por línea de comandos otros dos distintos: un proceso por sitio web, un proceso por pestañas conectadas por script e incluso ejecutar toda la aplicación en un único proceso. Y es aquí donde llega, según lo veo, la verdadera punta de lanza y objetivo de este programa hacia desarrolladores y los usuarios. vamos a explicar en qué consiste cada modelo:
El modelo de un sólo proceso (parámetro --single-process) para la aplicación es el modelo que sigue Firefox y multitud de programas. No tiene mayor complicación, se lanza un proceso cuando se ejecuta la aplicación que se ocupa de todas las tareas.
El modelo de pestañas conectadas por script (parámetro --process-per-tab), asigna un proceso distinto a cada grupo de pestañas conectadas (o lo que ellos han dado en llamar browsing instance, instancia de navegación), entendiendo estas que están conectadas cuando compartan componentes en JavaScript. Esta visión pretende aislar la ejecución de cada pestaña, salvando las que comparten componentes tal y como se ha comentado. Como desventaja, cuando tenga problemas con una página, todas las que estén relacionadas con ella los heredarán.
El tercer modelo en discordia, es un proceso por sitio web (parámetro --process-per-site). Ya empezamos a adentrarnos en el meollo conceptual que viene a traernos Chrome. Ya que la primera pregunta al encontrarnos con esta opción es ¿que entiende el navegador por sitio web? ¿cómo los delimita? Pues Chromium entiende como sitio web a cada dominio, con su número de puerto e incluyendo a todos sus subdominios. Aquí se deja entrever la intención que apuntaban en la presentación del navegador de partir de cero, afirmando que hoy en día más que de páginas web, hablamos de aplicaciones web en toda regla. Pero dada la arquitectura de la World Wide Web no es tan trivial como pueda parecer, establecer los límites del contexto (concepto al que estará acostumbrado cualquier desarrollador de aplicaciones web) cuando hablamos de dichas aplicaciones. Este modelo aisla la navegación de cada sitio, de tal manera que si uno se cae, no arrastre a los otros y se pueda seguir con normalidad cerrando sólo l apestaña afectada además de ser uno de los más eficientes en el uso de memoria (sobretodo respecto al siguiente). Como problemas, puede necesitar que se trate el JavaScript a través de un proxy ya que los scripts compartidos por varios sitios web puede que tengan que correr en varios procesos.
El cuarto modelo, el que funciona por defecto y más se acerca a la concepción de aplicación web en contraposición al de página web, es el modelo de proceso por instancia del sitio web. Se define dentro del mundo Chromium una instancia de un sitio web a la colección de páginas web del sitio (páginas con el mismo dominio, como hemos visto antes) entre las que existe una conexión (esto es, si se navega desde la una a la otra o comparten javascript). Este modelo potencia el aislamiento de cada "vía" de navegación a la vez que permite visitar el mismo sitio desde diferentes pestañas sin que la caida de una "via" afecte a la otra.
Esta nueva visión de los sitios web que pretende aportar Chrome está, sin duda, acorde con dirección que están tomando las herramientas via web proporcionadas por Google tales como Gmail o Google Documents dándonos una pista de cual es la proyección de futuro que le da la compañía al uso de la red y a las herramientas que esta nos ofrece. En este aspecto, parece que la función de este navegador, más allá de ganarle la cuota a sus competidores, sea introducir estos conceptos con el objetivo de poder acercar las tendencias en los navegadores a sus intereses como proveedor de herramientas online, ¿quien sabe?
Hablábamos en la entrada anterior del novedoso modelo de pestañas asociadas a procesos independientes con el fin de aislar los diferentes sitios entre los que navegamos en la misma sesión.
Sobre los modelos de proceso de renderizado relacionados con las pestañas, cabe destacar que Chromium (el nombre del código liberado de Chrome) soporta 4. Por defecto, utiliza un proceso distinto por cada instancia de un sitio web. Pero se le puede especificar por línea de comandos otros dos distintos: un proceso por sitio web, un proceso por pestañas conectadas por script e incluso ejecutar toda la aplicación en un único proceso. Y es aquí donde llega, según lo veo, la verdadera punta de lanza y objetivo de este programa hacia desarrolladores y los usuarios. vamos a explicar en qué consiste cada modelo:
El modelo de un sólo proceso (parámetro --single-process) para la aplicación es el modelo que sigue Firefox y multitud de programas. No tiene mayor complicación, se lanza un proceso cuando se ejecuta la aplicación que se ocupa de todas las tareas.
El modelo de pestañas conectadas por script (parámetro --process-per-tab), asigna un proceso distinto a cada grupo de pestañas conectadas (o lo que ellos han dado en llamar browsing instance, instancia de navegación), entendiendo estas que están conectadas cuando compartan componentes en JavaScript. Esta visión pretende aislar la ejecución de cada pestaña, salvando las que comparten componentes tal y como se ha comentado. Como desventaja, cuando tenga problemas con una página, todas las que estén relacionadas con ella los heredarán.
El tercer modelo en discordia, es un proceso por sitio web (parámetro --process-per-site). Ya empezamos a adentrarnos en el meollo conceptual que viene a traernos Chrome. Ya que la primera pregunta al encontrarnos con esta opción es ¿que entiende el navegador por sitio web? ¿cómo los delimita? Pues Chromium entiende como sitio web a cada dominio, con su número de puerto e incluyendo a todos sus subdominios. Aquí se deja entrever la intención que apuntaban en la presentación del navegador de partir de cero, afirmando que hoy en día más que de páginas web, hablamos de aplicaciones web en toda regla. Pero dada la arquitectura de la World Wide Web no es tan trivial como pueda parecer, establecer los límites del contexto (concepto al que estará acostumbrado cualquier desarrollador de aplicaciones web) cuando hablamos de dichas aplicaciones. Este modelo aisla la navegación de cada sitio, de tal manera que si uno se cae, no arrastre a los otros y se pueda seguir con normalidad cerrando sólo l apestaña afectada además de ser uno de los más eficientes en el uso de memoria (sobretodo respecto al siguiente). Como problemas, puede necesitar que se trate el JavaScript a través de un proxy ya que los scripts compartidos por varios sitios web puede que tengan que correr en varios procesos.
El cuarto modelo, el que funciona por defecto y más se acerca a la concepción de aplicación web en contraposición al de página web, es el modelo de proceso por instancia del sitio web. Se define dentro del mundo Chromium una instancia de un sitio web a la colección de páginas web del sitio (páginas con el mismo dominio, como hemos visto antes) entre las que existe una conexión (esto es, si se navega desde la una a la otra o comparten javascript). Este modelo potencia el aislamiento de cada "vía" de navegación a la vez que permite visitar el mismo sitio desde diferentes pestañas sin que la caida de una "via" afecte a la otra.
Esta nueva visión de los sitios web que pretende aportar Chrome está, sin duda, acorde con dirección que están tomando las herramientas via web proporcionadas por Google tales como Gmail o Google Documents dándonos una pista de cual es la proyección de futuro que le da la compañía al uso de la red y a las herramientas que esta nos ofrece. En este aspecto, parece que la función de este navegador, más allá de ganarle la cuota a sus competidores, sea introducir estos conceptos con el objetivo de poder acercar las tendencias en los navegadores a sus intereses como proveedor de herramientas online, ¿quien sabe?
53 Comentarios
Temes relacionaos:
Chrome