viernes, 29 de noviembre de 2013

GOOGLE CHROME




Google Chrome es un navegador web desarrollado por Google y compilado con base en varios componentes e infraestructuras de desarrollo de aplicaciones (frameworks) de código abierto,2 como el motor de renderizado Blink (bifurcación o fork de WebKit).3 4 Está disponible gratuitamente bajo condiciones de servicio específicas.1 El nombre del navegador deriva del término en inglés usado para el marco de la interfaz gráfica de usuario («chrome»).5


Cuenta con más de 750 millones de usuarios,6 y dependiendo de la fuente de medición global, puede ser considerado el navegador más usado de Internet variando hasta el segundo puesto, algunas veces logrando la popularidad mundial en la primera posición.7 Su cuota de mercado se situaba aproximadamente entre el 17 % y 32 % a finales de junio de 2012,8 9 10 con particular éxito en la mayoría de países de América Latina donde es el más popular.11 Actualmente el número de usuarios aumentó considerablemente situándose en una cuota de mercado cercana al 43 % convirtiéndolo en el navegador más utilizado de todo el planeta.


Por su parte, Chromium es el proyecto de software libre con el que se ha desarrollado Google Chrome y es de participación comunitaria (bajo el ámbito de Google Code) para fundamentar las bases del diseño y desarrollo del navegador Chrome (junto con la extensión Chrome Frame), además del sistema operativo Google Chrome OS.12 La porción realizada por Google está amparada por la licencia de uso BSD, con otras partes sujetas a una variedad de licencias de código abierto permisivas que incluyen MIT License, Ms-PL y la triple licencia MPL/GPL/LGPL.1 

En esencia, los aportes hechos por el proyecto libre Chromium fundamentan el código fuente del navegador base sobre el que está construido Chrome y por tanto tendrá sus mismas características, pero con un logotipo ligeramente diferente y sin el apoyo comercial o técnico de la compañía Google. 

De acuerdo a la documentación para desarrolladores, «“Chromium” es el nombre del proyecto, no del producto, y no debería aparecer nunca entre las variables del código, nombres de APIs, etc. Utilícese “chrome” en su lugar».13

El 2 de septiembre de 2008 salió a la luz la primera versión al mercado, siendo esta una versión beta.14 

Finalmente, el 11 de diciembre de 2008 se lanzó una versión estable al público en general.15 Actualmente el navegador está disponible para los sistemas operativos de escritorio Microsoft Windows, Mac OS X, Ubuntu, Debian, Fedora, openSUSE, Chrome OS,16 y en los sistemas operativos móviles Android17 y iOS.18

Historia

Canales de distribución

Actualmente, Google Chrome cuenta con varios canales de distribución para la descarga y prueba de todas sus compilaciones. Los canales comunes denominados «Stable», «Beta» y «Dev» son accesibles desde el sitio web del proyecto Chromium,19 siendo los dos últimos repositorios para versiones de desarrollo. El 22 de julio de 2010, Google anunció un nuevo sistema de lanzamientos más frecuente para ofrecer a los usuarios características nuevas cuanto antes, con la meta de entregar versiones estables cada 6 semanas.20 21 Debido a esto, se incorporó un nuevo canal de distribución (denominado «Canary») en aras de proporcionar una versión diaria para pruebas en conjunto con otros canales de desarrollo del navegador;22 el nombre del canal hace referencia a la práctica de llevar un canario a las minas de carbón para permitir a los trabajadores la detección temprana de gases peligrosos.23

Chrome para Android y iOS

En febrero de 2012, Google lanza 'Chrome para Android Beta'. Cuya versión está disponible solo para Android 4.0 'Ice Cream Sandwich' en teléfonos inteligentes y tabletas. Con la posibilidad de abrir múltiples pestañas, sincronización de marcadores y pestañas con la versión de escritorio, modo incógnito, y ver sitios de uso recientes.24 A finales de junio Chrome para Android se vuelve una versión estable.
En junio de 2012, durante el Google I/O 2012, se anuncia que Chrome se utilizará como navegador por defecto en Android 4.1 'Jelly Bean' junto con el lanzamiento de la tableta Nexus 7.25 También se anuncia Chrome para iOS, el cual está disponible en iPhone, iPod touch y iPad.26
En enero de 2013, las versiones Beta de Chrome también están disponibles en Android para teléfonos y tablets.27

Motor de renderizado Blink

En abril de 2013, Google anuncia su nuevo motor de renderizado basado en WebKit para Chrome y Chromium, llamado Blink, el cual se utilizará desde la versión 28. Las razones meramente técnicas del cambio desde WebKit, son optimizar el código base y orientar su desarrollo específicamente para contribuir a la Web y optimizar Chrome.28 Opera, otro navegador web, también anuncia la utilización de Blink en futuras versiones.29

Historial de versiones

Versiones no oficiales

  • El 15 de septiembre de 2008, CodeWeavers lanzó una versión no oficial de un derivado de Wine y de la versión en construcción de Chromium, Developer Build 21, para Linux y Mac OS X denominada CrossOver Chromium.104 105
  • Iron de SRWare, es una versión de Chromium que explícitamente desactiva la recolección y transmisión de la información de uso a Google.106
  • Xenode Chromium: Navegador web basado en Chromium que desactiva la recopilación y transmisión de información a Google e incluye herramientas, extensiones y utilidades varias.

Características básicas

Seguridad y estabilidad

Las metas primordiales al diseñar el navegador fueron mejorar la seguridad, velocidad y estabilidad que los navegadores existentes ofrecían. Se realizaron también cambios importantes a la interfaz de usuario.107 Chrome fue ensamblado partiendo de 26 diferentes bibliotecas de código de Google y otras de terceros tales como Netscape.108

Críticas

Ha sido criticado por lo que se podrían considerar problemas de seguridad y privacidad:
  • RLZ identifier: Una cadena codificada enviada junto con todas las consultas a Google109 o cada 24 horas.
  • Un identificador (ID) único («clientID») para identificar al usuario en los registros de accesos. Aunque parece que en las próximas versiones lo eliminarán.110
  • Una marca de tiempo de cuando fue instalado el navegador.
  • Páginas de error alojadas en servidores de Google, cuando no se encuentra un servidor.
  • Instalación automática de «Google Updater» (se puede desactivar).
  • Precargado de DNS (ya se puede desactivar desde la barra de herramientas del navegador).
  • Sugerencias automáticas de búsquedas en la barra de direcciones.
  • Sistema de seguimiento de errores que envía información sobre cuelgues del navegador o errores.
Todas estas funcionalidades han sido eliminadas en el navegador Iron.

Listas negras

Chrome descarga periódicamente actualizaciones de dos listas negras (para sitios de suplantación de identidad y para aquellos que contengan software malicioso) y advierte a los usuarios cuando intenten visitar una página de contenido peligroso. Este servicio también está disponible para su uso por terceros a través de un API público y gratuito llamado «Google Safe Browsing API». En el proceso de mantenimiento de estas listas negras, Google también notifica a los propietarios de los sitios enumerados que pueden no ser conscientes de la presencia de los programas dañinos.107

Aislamiento de procesos (Sandboxing)

Imagen de una pestaña triste al «colgarse» una pestaña del navegador, bajo Ubuntu.
El equipo de desarrollo a cargo de Gears estaba considerando la posibilidad de un navegador multiproceso (cabe señalar que un problema con las implementaciones actuales para navegadores web es que son inherentemente de un único proceso) y Chrome ha aplicado este concepto con arquitectura de multiprocesamiento similar al que utiliza Internet Explorer 8. Se asigna a cada tarea (por ejemplo, pestañas, plugins) un proceso separado. Esto evita que las tareas se interfieran unas a otras, lo que es bueno para la seguridad y la estabilidad; cada pestaña en Chrome se aísla (del inglés sandbox, textualmente caja de arena) para «impedir la instalación de software malicioso» o «impedir que lo que ocurre en una pestaña pueda afectar a lo que sucede en otra», en un modelo de asignación de procesos complejo.111 Si por algún motivo una mala programación de una página web o un plugin determinado ocasionan un cuelgue, sólo se perjudicará la pestaña actual dejando las demás intactas. Esa pestaña que falla pasará a ser una «pestaña triste», concepto similar a la pantalla de error de versiones anteriores del sistema operativo Mac OS, la sad Mac.
Siguiendo el principio de mínimo privilegio, cada proceso es despojado de sus derechos y con ello no puede escribir ni leer archivos en zonas sensibles (por ejemplo, documentos, escritorio). Este método es similar al «modo protegido» que utiliza Internet Explorer en Windows Vista. El equipo de desarrollo a cargo de «Sandbox» dice haber «convertido las actuales fronteras de los procesos en una cárcel», según sus propias palabras. Por ejemplo, el software malicioso que se ejecuta en una pestaña no puede robar números de tarjetas de crédito, interactuar con el ratón o decirle al sistema operativo que ejecute un programa al inicio del sistema y, además, este proceso desaparecerá cuando la pestaña se cierre. Esto no es más que la imposición de un simple modelo de seguridad informática según el cual hay dos niveles de seguridad multinivel: usuario y caja de arena. La caja de arena solo puede responder a solicitudes de comunicación iniciadas por el usuario.107
Administrador de tareas de Google Chrome.
Algunos plugins como el Adobe Flash Player no siguen algunos estándares de seguridad y por ello no pueden ser aislados como las pestañas. Estos a menudo necesitan ejecutarse en o por encima del nivel de seguridad del propio navegador. Para reducir la exposición a un ataque, los plugins se ejecutan en procesos separados que se comunican con el motor de renderizado, que a su vez opera con «muy bajos privilegios» en procesos dedicados para cada pestaña. Dichos complementos tendrán que ser modificados para operar dentro de esta arquitectura de software y seguir así los principios de mínimos privilegios.107
Además, Chrome cuenta con una utilidad administradora de procesos, denominada Administrador de tareas que permitirá conocer el estado del navegador en su totalidad, ver individualmente estadísticas de sitios web o plugins (los cuales también van en procesos separados) sobre uso de memoria del sistema, ancho de banda usado (velocidad medida en bytes/s) y consumo de tiempo de CPU, además de dar la opción de poder finalizar la ejecución de cada elemento individualmente.107

Modo Incógnito

El modo incógnito. Con un icono en la parte superior derecha, en Mac OS X; y en la parte superior izquierda en windows y Linux que aparece en una sesión abierta de incógnito.
Chrome incluye un modo de navegar de Incógnito112 (similar a la Navegación privada de Safari, Firefox u Opera; o el modo InPrivate de Internet Explorer 8) que permite navegar por Internet con total privacidad, ya que no registra ninguna actividad y borra de los archivos temporales las cookies utilizadas. Cuando se activa una de estas ventanas «nada de lo que ocurre en esa ventana saldrá de su computadora».107

Velocidad

La máquina virtual para JavaScript se consideró un proyecto suficientemente importante como para separarlo, tal como se hizo con Tamarin de Adobe/Mozilla, y fue desarrollado por un equipo situado en Dinamarca. Las actuales implementaciones se diseñaron «para los pequeños programas, donde el rendimiento y la interactividad del sistema no eran importantes». Sin embargo, aplicaciones Web como Gmail «están utilizando el navegador web al máximo cuando se trata de manipulaciones DOM y JavaScript». El resultante motor JavaScript V8, fue diseñado poniendo énfasis en la velocidad, e introduce nuevas características a este fin como transiciones de clase ocultas, generación dinámica de código, y recolección precisa de basura (refiriéndose a liberación de memoria).107 Pruebas de Google demuestran que V8 es aproximadamente dos veces más rápido que Firefox 3 y que la versión beta de Safari 4.113
Muchos sitios web han realizado pruebas de rendimiento usando la herramienta Benchmark SunSpider para JavaScript[1] así como un conjunto de pruebas de cómputo intensivas propias de Google, las cuales incluyen ray tracing y la resolución de restricciones.114 De manera unánime reportaron que Chrome rindió mucho más rápido que todos sus competidores con los que había sido comparado, incluyendo Safari, Firefox 3, Internet Explorer 7 e Internet Explorer 8.115 116 117 118
Chrome también guarda y utiliza una caché de direcciones DNS para acelerar la carga de los sitios web.119

Interfaz

Interfaz de usuario de Google Chrome en Windows 7
La interfaz de usuario incluye opciones para ir atrás, adelante, recargar página, ir y cancelar. Las opciones son similares a las del navegador Safari. El diseño de la ventana está basado en el tema nativo de Windows Vista.
Chrome incluye Google Gears, que añade características para desarrolladores que podrían o no convertirse en estándar web, y por lo general relacionadas con la construcción de aplicaciones web (incluyendo soporte para uso sin conexión).107
La página de inicio del navegador se sustituye de manera predeterminada por la misma que aparece cada vez que se abre una nueva pestaña. Ésta muestra miniaturas de los nueve sitios web más visitados con las últimas búsquedas realizadas, los últimos marcadores accedidos y pestañas cerradas.120 Este concepto existía ya antes en el navegador Opera, conocido como «Discado rápido».107
Una novedad introducida en Chrome es Omnibox, siendo ésta la barra de direcciones que aparece en la parte superior de cada pestaña, similar a la de Opera. Incluye funcionalidades de autocompletar texto (únicamente autocompletará URLs que se hayan introducido manualmente en lugar de todos los enlaces), sugerencias de búsqueda, páginas visitadas previamente, páginas populares (sin visitar) y búsqueda en el historial de navegación. Los motores de búsqueda también pueden ser capturados por el navegador cuando se utilicen su respectiva interfaz de usuario presionando la tecla Tab .107 Otra funcionalidad de la Omnibox es la modalidad de «Pegar y buscar», accesible con el menú contextual.121
Chrome permite crear accesos directos en el escritorio que permitan lanzar aplicaciones web directamente en el navegador. Cuando el navegador se abre de esta manera, la ventana no muestra ningún control sino únicamente la barra de título. Esto limita la interfaz del navegador a «no interrumpir cualquier cosa que el usuario está tratando de hacer», lo que permite a las aplicaciones web ejecutarse junto a software local (similar a Mozilla Prism, Adobe AIR y Fluid).107
Chrome utiliza el motor de renderizado WebKit como recomendación del equipo que desarrolló Android.107 Al igual que la mayoría de los navegadores, Chrome fue probado exhaustivamente antes de ser lanzado al público. Las nuevas compilaciones del navegador son probadas de manera automatizada en cientos de miles de sitios web comúnmente visitados, los cuales están en el índice de Google y son accedidos en menos de 20-30 minutos.107
Chrome soporta la interfaz de programación de aplicaciones de Netscape (NPAPI),122 123 pero no soporta controles ActiveX.123 Además, Chrome no tiene un sistema de extensiones como el de Mozilla con la arquitectura XPInstall.124 El soporte para applets de Java se encuentra disponible en Chrome a partir de la actualización del entorno de ejecución de Java 6 actualización 10 o superior.125
Para desarrolladores web, Chrome incluye un elemento de inspección similar al que se incluye en la extensión para Firefox, Firebug.119

Pestañas

Las pestañas son el principal componente de la interfaz de usuario de Chrome y, como tal, se han movido a la parte superior de la ventana en lugar de por debajo de los controles (similar al navegador Opera). Este es un sutil cambio, en contraste con el actual número de navegadores que se basan en ventanas que contienen pestañas. En Chrome, las pestañas son «flexibles» (incluyendo su estado) y puede ser transferidas sin problemas entre varias ventanas mediante arrastre. Cada pestaña tiene su propio conjunto de controles, entre ellos la barra de direcciones Omnibox.107 Las ventanas emergentes (en inglés pop-ups) «están confinadas a las pestañas de las que provienen» y no aparecen por encima de la pestaña actual sino como una pequeña barra de título en la parte inferior; podrán usarse cuando el usuario explícitamente las arrastre hacia afuera. Las ventanas emergentes no se ejecutan en su propio proceso.107
De forma predeterminada, no hay barra de estado, a diferencia de otros navegadores que muestran una en la zona inferior de la ventana de navegación. Sin embargo, si el cursor del ratón se mueve sobre un enlace, la dirección de este se mostrará en la parte inferior izquierda de la pantalla. Al igual que otros navegadores web como Internet Explorer o Firefox, Chrome tiene un modo de pantalla completa, accesible mediante la tecla F11, que al contrario que en Explorer o Firefox, carece de una miniatura de la barra de herramientas de navegación.

Características avanzadas

Temas visuales

Posibilidad para agregar y cambiar temas visuales en la interfaz de Chrome. Para esto Google habilitó una galería de temas visuales en la Chrome Web Store.126 La galería hasta el momento contiene más de 3000 temas. No se requiere reiniciar el navegador para aplicar el tema, se instala automáticamente.

Extensiones

Soporte para agregar extensiones. Las extensiones en Chrome se encuentran disponibles en modo de galería para su rápida instalación,127 con más de 12.000 extensiones disponibles hasta el momento. No se requiere reiniciar el navegador para aplicar alguna extensión, se instala automáticamente. Las extensiones también se pueden utilizar en modo incógnito, y se pueden seleccionar individualmente para su uso en el modo incógnito.
Scripts Greasemonkey
Soporte nativo para scripts generados por Greasemonkey. Con esta característica es posible utilizar los scripts creados en el sitio UserScript.org. Según el equipo de desarrolladores de Chromium,128 actualmente se encuentran disponibles 40.000 scripts en el sitio UserScript.

Sincronización en línea

Sincronización general de preferencias, marcadores, autocompletado de formularios, contraseñas, temas, extensiones y aplicaciones, todo ello gracias a la sincronización de la cuenta de Google en línea.129 Con esto se puede utilizar la misma configuración de Chrome y sincronizarla en cualquier otro computador, basado en la implementación XMPP. Solamente hay que poseer una cuenta de Google o una cuenta de correo de Gmail para tener acceso al servicio de sincronización. La sincronización de pestañas y marcadores también afecta a la versión de Chrome para Android y iOS.130

Traducción de sitios

Traducción sugerida y automática de sitios Web, todo esto gracias al Traductor de Google y los 52 idiomas que soporta actualmente. El sistema cuenta con una opción para desactivar esta característica por si resulta muy invasivo.

Notificaciones de escritorio

Los sitios que envíen notificaciones de escritorio podrán hacerlo utilizando HTML5, y también con el uso de extensiones o aplicaciones web corriendo de fondo podrán incluso enviarlas teniendo la ventana del sitio cerrada.131

Geolocalización

Soporte de geolocalización, el cual aprovecha las características que posee HTML5 para lograr ésta tarea. La geolocalización es útil en sitios sociales para mostrar dónde se encuentra el usuario, y/o compartir imágenes o videos de donde se encuentra el usuario.132 Esta característica ya funciona con Google Maps.

Flash Player

Integración de la última versión del complemento Flash Player dentro del mismo navegador, recibiendo la colaboración y ayuda de Adobe Systems Incorporated (empresa que actualmente desarrolla Flash). Esto facilita aún más el manejo de objetos incrustados en sitios Webs que utilicen Flash. Además, facilita la actualización del complemento directo desde el actualizador del navegador, y no por separado.133

Visor PDF

Visor nativo de archivos PDF, en el que se puede aumentar o disminuir la página y buscar palabras del mismo modo que en un sitio web común. Para protección del usuario, el visor está incluido dentro del «sandbox» de seguridad de Google Chrome. Al igual que el complemento de Adobe Flash integrado, también recibe las últimas actualizaciones para soporte de archivos PDF.134

Aplicaciones Web

Consiste en una tienda en línea, Chrome Web Store, que recolecta aplicaciones creadas en diferentes lenguajes de programación utilizados en la web, los cuales son: HTML, XHTML, JavaScript, CSS, Adobe Flash, Java, AJAX, HTML5 (video/audio incrustado), WebGL, y CSS3. Las aplicaciones se pueden utilizar conectado a Internet, o sin una conexión a Internet. Las aplicaciones de la Chrome Web Store también se pueden usar en otros navegadores, siempre y cuando tengan tecnologías web actuales.135

Búsqueda instantánea

Permite buscar instantáneamente desde el navegador. Esto permite que al momento de escribir el nombre de algún sitio en la barra de direcciones (Omnibox), el sitio cargue mientras todavía se está tecleando, sin necesidad de pulsar la tecla Entrar. No activado por defecto, pero puede habilitarse en Configuración.136

Native Client

Integración de Native Client, el cual permite la ejecución de código C y C++ dentro del navegador. Native Client permite tener aplicaciones web enriquecidas gracias a la posibilidad de ejecutar código C/C++, tal como juegos y aplicaciones que requieran un lenguaje de código más robusto.137

Perfiles de usuario

Permite crear diferentes cuentas de usuario y administrarlas en el mismo navegador. Esto ayuda a que los usuarios mantengan sus datos sincronizados por separado en un mismo navegador.138

WebGL

Brinda aceleración de gráficos tridimensionales vía hardware para juegos o videos usados directo en el navegador. WebGL funciona gracias a las herramientas que posee HTML5 y el proyecto mismo. WebGL funciona sin problemas en Linux y Mac OS X, pero en Windows hay un pequeño percance, así que el equipo de Chromium ideó una forma de utilizar WebGL en Windows con el proyecto llamado Angle,139 el cual utilizará las bondades de DirectX para utilizar WebGL en Windows.140

WebM

Soporte nativo para WebM, el conjunto de codecs libres y abiertos para la reproducción de contenido multimedia en la Web. WebM está compuesto por el codec de video de código abierto VP8, el codec de audio libre Vorbis, y el contenedor multimedia de estándar abierto Matroska.141 YouTube en su sitio de pruebas para HTML5, ya está haciendo uso de WebM en sus videos, y cada vez más se pueden encontrar videos en YouTube usando WebM.142

WebRTC

El estándar WebRTC, permite comunicación de video y audio de alta calidad a través de la web sin plug-ins y de desarrollo abierto.143

Opciones extras

Páginas ocultas

Google Chrome tiene algunas páginas ocultas, no accesibles dentro de la interfaz de usuario. Para acceder a ellas, se pueden teclear diversas órdenes "about:" en la barra de direcciones, la lista de órdenes se encuentra disponible en la web.

Opciones experimentales

Opciones experimentales del navegador, quiere decir que en futuras actualizaciones se podrían incorporarán por defecto, ya que se encuentran en etapa de prueba. Para utilizarlas, hay que dirigirse a about:flags en el Omnibox del navegador.

Atajos de teclado y ratón

Los atajos de teclado y ratón que incluye Google Chrome se pueden encontrar en su sitio web para distintos sistemas operativos.


Fuente: Wikipedia

No hay comentarios:

Publicar un comentario