|
|
El martes 2 de septiembre de 2008 Google realizó el lanzamiento de Google Chrome, un nuevo navegador web. El navegador presenta muchas novedades técnicas y una interfaz muy limpia. Google Chrome permite ejecutar aplicaciones web con la velocidad y la respuesta habitual de las aplicaciones tradicionales de escritorio.
Los desarrollos realizados con anterioridad al lanzamiento de Google Chrome funcionan correctamente y aprovechan todas las ventajas del nuevo navegador si en su desarrollo se aplicaron los estándares de la W3C.
Para los nuevos desarrollos y para reparar algún problema que pueda aparecer, Google Chrome dispone de herramientas de depuración. A continuación se presentan y se explican empíricamente (a 3 de septiembre de 2008 no existe documentación acerca de estas herramientas [1]).
A continuación se presentan las herramientas de depuración que ofrece Google Chrome y que trataremos en este artículo:
La consola muestra gráficamente el contenido de la página en formato árbol.
El acceso a la consola de JavaScript se encuentra en Opciones para desarrolladores dentro del menú de página.
La consola se divide en dos grupos, elements y resources. El primer grupo permite consultar el contenido de la página en formato árbol, acceder a la información asociada a cada elemento y ejecutar comandos JavaScript.
Al seleccionar un elemento en el árbol se muestra a la izquierda de la consola los distintos estilos aplicados al elemento con las propiedades modificadas (o todas al pulsar show inherited). En el siguiente ejemplo aparecen los estilos computados (o finales) junto con los que han dado lugar a ese resultado .gb1, .gb2 (inline al estar en la misma página) y los que tiene por defecto (propios de Google Chrome).

Para obtener el tamaño de los bordes, márgenes internos o externos y demás información de "medida" se accede al acordeón "Metrics" una vez seleccionado el elemento que nos interesa en el árbol. La consola muestra las dimensiones del elemento, el borde, padding y margin.

La depuración de JavaScript normalmente involucra acceder a métodos y propiedades de los elementos de la página. Al seleccionar el acordeón "HTML Element" o algunos de los "Object" se accede las propiedades y métodos de cada objeto.
Para identificar dentro de la jerarquía del árbol HTML el elemento seleccionado, se muestran a modo de "path" los distintos ancestros del elemento.

Habiendo identificado el elemento podemos llamar a sus métodos o consultar las propiedades utilizando el acordeón de Object o directamante en JavaScript usando la consola.
La consola permite ejecutar comandos JavaScript sobre los objetos pertencientes al mismo proceso (tab prinicipal y tabs abiertos por el prinicipal). En el siguiente ejemplo se accede a la propiedad título del documento:

También se puede utilizar la consola para cambiar propiedades de los elementos. En el siguiente ejemplo se accede al contenido de la caja de búsqueda y se modifica.
En la caja de búsqueda se escribe el texto "search terms" y se pulsa con el botón derecho sobre el campo, en el menu se selecciona Inspeccionar elemento.

El elemento input correspondiente a la caja de búsqueda aparece seleccionado en la consola de JavaScript.
Para acceder al valor del elemento se escribe: f.q.value, donde f es el nombre del formulario y q el nombre del campo.

De forma análoga se puede modificar desde la consola de JavaScript el valor del campo en la vista web.
f.q.value = "new search term"

La vista resources permite consultar gráficamente el orden de descarga de los elementos que componen la página, el tiempo y peso de cada descarga y el contenido descargado:

Seleccionando el recurso nav_logo3.png vemos su contenido, se trata de una imagen que contiene a su vez varios recursos. Esta imagen utiliza la técnica de sprites que mediante css ubica trozos de imagen en la página, ahorrando ancho de banda y reduciendo el número de peticiones al servidor (hace unos meses, no aplicaban esta técnica. ver: Optimizar la carga de un sitio web: Microsoft Fiddler HTTP Debugger).

Esta vista es especialmente necesaria en Google Chrome para hacer uso del resto de herramientas de depuración, por ejemplo el depurador de JavaScript requiere conocer el nombre de las funciones a depurar.
Para acceder al código fuente se pulsa con el botón derecho sobre la página, seleccionando "Ver código fuente" o se utiliza la vista Resources de la Consola de JavaScript, pulsando sobre el rescurso que se quiere visualizar. Esta última vista permite también ver recursos gráficos.
El depurador de JavaScript de Google Chrome está basado en línea de comandos, lo que hace muy incómodo su uso. Además es necesario conocer la estructura de la página o aplicación y los nombres de las funciones. Espero que próximamente se incluya una interfaz más similar a Firebug.
El acceso al depurador de JavaScript se encuentra en Opciones para desarrolladores dentro del menú de página.
Los siguientes comandos permiten depurar una función:
Ejemplo: depurar la función que coloca el cursor en la caja de búsqueda al entrar en www.google.es
$ scripts
chrome-resource://inspector/PropertiesSidebarPane.js (lines 139)
chrome-resource://inspector/StylesSidebarPane.js (lines 652)
chrome-resource://inspector/Panel.js (lines 104)
...
http://www.google.es/webhp?hl=es (lines 9)
http://www.google.es/webhp?hl=es (lines 3)
$ print document.images
#<an HTMLCollection>
$ print (document.images!=false)
true
El administrador de tareas es muy útil desde el punto de vista del desarrollo para comprobar el uso de los recursos de una aplicación web. Así mismo permite finalizar procesos de forma individual, evitando tener que cerrar por completo el navegador cuando una aplicación se comporta mal.

[1] La herramienta de depuración está basada en Web Inspector, información aportada por John J Barton)
[2] El fichero html está comprimido y tiene tres líneas, por lo que el resultado del comando scripts parece indicar el número de líneas si el javascript fuera legible.