martes, septiembre 2, 2008
|
Como ya muchos saben, Google va a lanzar en cualquier momento su nuevo navegador de Internet "Chrome", y aunque en la superficie de todo esto es posible que muchos piensen de Chrome como "otro navegador mas", me complace en decirles que la realidad es muy distante de eso.
En las últimas horas he aprendido muchísimo de Chrome directamente de Google, y a continuación escribo mi análisis al respecto. Hasta donde tengo entendido este es el primer análisis en profundidad sobre Chrome en todo el Internet (en cualquier idioma), incluyendo datos técnicos detallados y funcionalidad, así como análisis y comparación con la competencia. Así que iniciemos... Chrome, en su superficie, sin duda aparenta otro navegador de Internet, aunque con un interfaz mucho mas amigable que los otros del mercado, con el ya conocido "look" de Google, con los colores predominantes blanco y azul, y con un diseño totalmente minimalista. Sin embargo, debajo de esa sencillez yace el primer navegador de Internet diseñado desde cero en posiblemente una década. Según Google, la filosofía del diseño de Chrome fue crear un navegador apto para la última generación de Aplicaciones Web, y para el ambiente hostil que representa navegar el Internet hoy día. Para empezar, Chrome toma el concepto de un Sistema Operativo y lo adapta a un entorno de navegador, en donde ahora el navegador entiende de conceptos como procesos e hilos de ejecución. Sucede que hasta hoy día, todos los navegadores del mercado (en particular los grandes como Firefox, Internet Explorer, Safari y Opera) están pensados como un solo proceso que ejecuta dentro de un sistema operativo como Windows, Mac OS X o Linux, lo que tiene como desventaja que si algo malo pasa en algún lugar dentro del navegador, el navegador completo cae con ello y "explota" por así decirlo. Aparte de eso están las limitantes de Javascript de las cuales dependen casi todas las páginas modernas que ofrecen interacción avanzada a los usuarios. Para lidiar con esto, Google diseñó a Chrome con el concepto de multi-procesos como parte de su núcleo. Así mismo notaron que la unidad de interacción principal del navegador es el "Tab" (o la "Solapa" que te permite abrir múltiples páginas web dentro de una misma ventana de navegación), por lo que adoptaron la arquitectura de que cada Tab es un proceso independiente de todos los otros (es decir, de todos los otros Tabs), y por tanto aislado de los demás. Esto significa que si una página web se pone lenta en un Tab, o hace que el navegador "explote" en ese Tab, que solo ese Tab desaparece del navegador Chrome y las otras continúan funcionando normalmente. Hay que agregar que ahora los Tabs están en la parte superior del navegador, por encima de la bara de direcciones de Internet, algo que después que lo vi me pregunté cómo es que nadie había pensado en esto anteriormente... A propósito de la barra de direcciones, ahora es una herramienta mucho mas poderosa aun que la barra que apareció en Firefox 3. Google la llama la OmniBar (aludiendo a "Barra de Direcciones Omnipotente"), pues ahora aparte de sugerirte direcciones de páginas web que contiene los caracteres que escribes (es decir, yendo mas allá de simples páginas que habías visitado previamente), ahora la barra también hace búsquedas contextuales. Eso significa que si empiezas a escribir "cámara digital", que la OnmiBar no solo te presenta páginas con cámaras digitales, sino que productos que te interesarían basado en búsquedas previas por los usuarios de Google. Además, el OmniBar detecta buscadores locales en páginas web (como Wikipedia, Amazon, IMDB, etc), y se "recuerda" de ellos, permitiéndote por ejemplo que en un futuro escriba la letra "W", presionar la tecla de Tab, y eso tener como efecto que la OmniBar se cambie a la barra de búsqueda de Wikipedia, lo que es sensacional. Volviendo al tema de los Tabs, todo este mecanismo de procesos por Tab además implementa el concepto de manejos de recursos, permitiendo que el usuario (por ejemplo) vea los "procesos" que se ejecutan detrás de cada Tab, para así ver la memoria que ocupa, el tiempo del CPU que utiliza, y los recursos de redes que maneja. Inclusive uno puede monitorear los plugins (extensiones) del navegador por cada Tab independiente. Esto permite que uno tenga ahora una herramienta forense para detectar cuáles son las páginas culpables de los malos momentos en nuestra navegación en Internet, entre otras cosas mas interesantes que hablaremos mas adelante. Algo interesante que Google hizo fue adoptar el renderizador de páginas web WebKit, el mismo que "dibuja" las páginas web en Safari y Android (e indirectamente a Firefox por medio de Mozilla), lo que significa que tienen una excelente base para acoplarse a los últimos estándares de Internet. Tan madura está la tecnología de WebKit, que según Google han podido automatizar el proceso de probar a Chrome con diferentes páginas web (para asegurarse que las páginas se comportan como deben), hasta un punto que Chrome ya pasa el 99% de las pruebas oficiales de Webkit sobre buen comportamiento y renderización de páginas web. Algo interesante es que Google utiliza su propio sistema de AdSense y AdWords (los anuncios de Google que aparecen en todas partes) para saber cuáles son las páginas mas populares de Internet, y asegurarse que Chrome funcione con ellas, lo que significa que tendrás un excelente experiencia visual y funcional con Chrome desde el primer día, así como tendrás garantía de que Chrome funcionará en el futuro con la basta mayoría de las páginas conocidas en Internet. Otro de los grandes problemas que Google dice haber resuelto con Chrome es el tema del rendimiento de Javascript, para cuyo fin tomó una decisión agresiva y radical, empezando (como alega Google) totalmente desde cero sin ninguna línea de código anterior. El resultado es espectacular, y algo que muchos pedíamos por años: Javascript ahora no es interpretado, sino que pre-compilado al formato nativo del CPU de la máquina local, para que este ejecute al 100% de una aplicación local (similar a lo que hará Firefox y Safari, como reportado previamente aquí en eliax). Pero Google no se detuvo ahí. Este código de Javascript ahora ejecuta en una Máquina Virtual a la que llaman "V8", que permite que el código ejecute a velocidad nativa, pero solo como un proceso dentro de cada Tab, aislando así programas malignos del resto del sistema (muy similar a como funciona Java en ese respecto). Además, debido a que reescribieron todo desde cero, ahora por fin pudieron dejar atrás la "colección de basura" (es decir, de memoria utiliza por el navegador con páginas previamente abiertas), desde su implementación actual que utiliza un algoritmo "conservador" (debido a que las implementaciones actuales por ejemplo no pueden diferenciar entre una dirección en la memoria o un valor numérico, lo que hace que el navegador cada vez ocupe mas memoria, aun uno cierre varios Tabs), a un algoritmo totalmente "preciso" y verdadermanete "incremental". Por ejemplo, con el nuevo "colector de basura" es posible limpiar de la memoria varios centenares de MegaBytes de memoria en tan solo milisegundos, a diferencia de varios segundos en los navegadores actuales (que de paso ponen todo lento y las interacciones con las páginas bastante problemáticas - un problema que vivo personalmente a diario al usualmente tener entre 20 y 40 Tabs abiertas en una sola sesión). Sin embargo, lo mejor de todo esto es que Google ha hecho la máquina virtual V8 una entidad completamente independiente del navegador Chrome, lo que significa que puede ser adaptada de manera trivial por otros navegadores, lo que en realidad sería sensacional si ocurriera (en particular por Firefox, Safari y Opera, pues Microsoft dudo que quiera dejas sus raíces propietarias), ya que tendríamos por fin (y por primera vez) una verdadera plataforma web para programar Aplicaciones Web, de alto rendimiento, y sin nosotros los programadores tener que adaptar el código constantemente para varios navegadores y versiones de tales navegadores). Como siempre, para que este tipo de adopciones ocurra primero hay que sobrepasar el sentimiento de "soy mas macho que tu y mi implementación es mejor que la tuya" que tanto afecta a esta industria... Otro gran adelanto con Chrome es que incluye por defecto la tecnología de Google Gears de la cual también hemos hablado varias veces en eliax. Esta tecnología permitirá que los desarrolladores de páginas web creen aplicaciones que almacenen datos de manera local en tu PC, para su uso futuro. Por ejemplo, podrás acceder a GMail aun no estés conectado a Internet, e inclusive leer y responder a tus emails anteriores, tal cual como si GMail fuera una aplicación local como Outlook. Después, cuando haya Internet, GMail automáticamente enviaría tus emails y respuestas a sus destinatarios, así como descargar los últimos emails del Internet. Hablando de GMail, este tipo de Aplicaciones Web también se beneficiarán de un modo en Chorme que lanza aplicaciones web en sus propias ventanas sin el interfaz visual de Chrome, como si fueran aplicaciones normales de Windows, OS X o Linux, lo que indica que verdaderamente estamos entrando en la era en donde las Aplicaciones Web se fusionarán de manera tal con las aplicaciones nativas locales, que será difícil distinguir unas de otras. Otros adelantos en Chorme incluyen la capacidad de especificar que tu navegación en un Tab sea en modo "incógnito". Eso significa que todo lo que hagas en ese Tab se borrará del sistema en el momento que ese Tab sea cerrado. Esto incluye borrar tu historial de navegación de ese Tab, así como los cookies de ese Tab. Además, se prohíben por defecto todas las ventanas emergentes (esas ventanas con anuncios, promociones y todo tipo de programas malignos), y es el usuario que debe aprobar el 100% de estas ventanas. Hoy día otros navegadores (en particular Opera y Firefox) son bastante buenos al respecto, pero no pueden con el 100% de estas ventanas, como sí puede Chrome debido a su arquitectura "desde cero". El otro gran adelanto de Chrome es que la seguridad asume que el navegador va a tratar de ser violado por programas y páginas malignas en Internet, razón por la cual todo lo que ocurre en cada Tab en temas de seguridad es aislado al 100% del sistema. Estos procesos no tienen acceso ni a los archivos, ni a ejecutar programas locales, ni al teclado, ni al ratón, al menos que el usuario explícitamente le de permiso a tales programas, lo que significa el posible fin de espionaje de teclados y movimientos de ratón por tales programas. Además, Chrome viene con un motor que detecta todo tipo de esquemas de phishing (páginas web que personifican a otras para robar datos del cliente, como sus claves y números de tarjetas de crédito), pero que a diferencia de otros motores actuales, este se actualiza constantemente desde el Internet, y Google ha hecho el API (interfaz de programación) de este motor totalmente abierto para que plugins (extensiones) de todo tipo puedan ofrecer aun mejores servicios de protección. Hablando de extensiones o plugins, estos son los únicos elementos (que por necesidad) tiene a acceso a hacerlo todo (aunque aun necesitan la aprobación e instalación del usuario), pero aun así Chrome los ejecuta en otro proceso aparte, así que si uno de esos plugins se enloquece, o empieza a utilizar recursos de mas, que no traiga a todo el sistema abajo, sino que perezca él mismo y nada mas dentro de Chrome, lo que sin duda aumentará la estabilidad del navegador. Hablando de estabilidad, Google dice que este será (debido a todas estas cosas como el V8, procesos por Tab, aislamiento del sistema operativo, etc) el navegador de Internet mas sólido y rápido del mercado en su versión final (inicialmente saldrá en "beta", o modo de pruebas, como casi todos los productos de Google), y la verdad que al menos desde el punto de vista técnico, aparenta que lo será. Finalmente, Google ha decidido hacer a Chorme 100% Open Source (Código Libre), lo que significa que cualquiera que lo desee puede tomar a todo lo que es Chrome, o tan solo los módulos que le interesen, y utilizarlos sin pagarle un centavo a Google, o ni siquiera pedir permiso. Esto, según Google, es por el interés que tiene la empresa en que el Internet sea lo mas abierto posible a todos, cosa con la que estoy de acuerdo, pues la arquitectura de AdSense de Google (que le genera varios miles de millones de dólares al año) depende de un Internet libre y abierto. En conclusión, Google entra al mercado de navegadores con una propuesta verdaderamente fresca y potente, y no cabe duda que muchos le darán un buen vistazo a Chrome, en particular debido a sus prestaciones técnicas y de interfaz de usuario, que toman en cuenta desde el núcleo del navegador los grandes temas de hoy día en este espacio: las Aplicaciones Web y el tema de seguridad. autor: josé elías |
26 comentarios |
Google , Opinión / Análisis , Predicciones , Software |
Comentarios
Añadir Comentario |
"Felicidades al único prostituto tecnológico que lo reconoce abiertamente. Larga vida al blog y que la fuerza te acompañe..."
en camino a la singularidad...
©2005-2024 josé c. elías
todos los derechos reservados
como compartir los artículos de eliax
Seguir a @eliax
Excelente, primero que nadie hahaha.
A mi se que queman las habas por probarlo, aunque sea en maquina virtual, ya que ando en linux.
Saludos!