Archivo de la etiqueta: api

Depurando de forma avanzada JavaScript con las herramientas de desarrollo

API console para depurar JavaScript

Las herramientas de desarrollo de los navegadores cada vez son más potentes y van mejorando día a día. El primer gran debugger de JavaScript fue Firebug para Firefox, que hace unos 4 o 5 años no tenía ni la más mínima competencia, pero actualmente tenemos las herramientas de desarrollo de Chrome y las de Internet Explorer (que han mejorado mucho en su versión número 11) como buena y completa competencia.

Las APIs de la consola han evolucionado y encontramos cosas tan interesantes como tablas de datos en la consola, algo que ayuda mucho a visualizar, sobre todo, respuestas por parte de un servidor.

Funciones básicas

Desde hace tiempo la API básica que incorporan casi todas las herramientas de desarrollo de los navegadores permitía lanzar nuevos avisos de distintos tipos. Estas utilidades son esenciales cuando queremos depurar ciertas partes del código de una forma no intrusiva o monitorizar ciertos parámetros, aunque hay quien prefiere las alertas (alert()), que tienen la ventaja de parar la ejecución.

Los avisos básicos que se le puede mandar a una consola de depuración (y soportan casi todas las herramientas de debugging) son básicamente tres: el de registro o log, el de aviso y el de error. La función para crear un registro o una alerta son más o menos similares, pero la función de enviar un error hace un seguimiento de como se ha llegado hasta el propio error, como veremos a continuación.

A la API de la consola se accede a través de console, que alberga distintos métodos para crear estas alertas (log(), warn() y error()). Estos métodos nos permiten enviarle texto o cualquier tipo de variable (ya sea un número, un objeto JSON, una función, un elemento del DOM…) y así poder visualizar cómodamente los datos extraídos del documento.

Para probar los ejemplos debes de abrir la consola de depuración (normalmente pulsando F12).

Mandar un log con un texto básico:

// Texto console.log("Texto de prueba")

Mandando un log con un objeto del DOM:

// Objeto DOM console.log(this)

Mandamos un log con texto y un objeto:

// Texto y objetos console.log("Objeto de prueba:", {a:1, b:2, n:[1, 2, 3]})

Por último, para completar las acciones básicas limpiaremos la consola con console.clear():

// Limpiar consola console.clear()

Funciona igual de igual forma los tres tipos de avisos, por lo que solo voy a poner un solo ejemplo más de cada uno para ver la diferencia:

Tablas en consola

Recientemente se ha implementado en las principales herramientas de depuración (para ser exacto en Firebug y las de Chrome) la función de generar tablas a partir de un objeto o arrays bidimensionales, que nos facilita la visión de datos que se han podido generar o recibir.

console.table()

La imagen de arriba la genera la consola al usar console.table() enviando un objeto que perfectamente podríamos recibir desde un servidor:

var WeblogsSL = [ {nombre: "Xataka", visitas: 300000, color: "Verde"}, {nombre: "Applesfera", visitas: 200000, color: "Gris"}, {nombre: "Genbeta", visitas: 220000, color: "Azul"} ];   console.table(WeblogsSL);

console.table()

Al igual que antes, podemos hacer lo mismo con un array bidimensional, que podría contener los datos de una gráfica, por poner un ejemplo:

var grafica = [ [1048, 1083, 1127, 1154, 1215], [952, 977, 1109, 1063, 1054], [944, 944, 1008, 1073, 1073], [34, 40, 51, 56, 61], [1191, 1258, 1290, 1368, 1402], [542, 543, 571, 606, 630] ];   console.table(grafica);

Sabiendo usar estas funcionalidades de la API de la consola nos será mucho más fácil depurar. Seguir leyendo Depurando de forma avanzada JavaScript con las herramientas de desarrollo

Espresso, framework Android para hacer tests de la interfaz de usuario

Espresso Test UI ANdroid

Los tests UI en Android nunca han acabado de cuajar del todo para ser ágiles.. Conllevan diversas problemáticas como los elevados tiempos de ejecución o la sincronización entre las distintas llamadas a la acción. Buscando el santo grial podemos probar un recién estrenado framework propuesto por Google a la comunidad. Se trata de Espresso, de cuál tuvimos las primeras noticias en la pasada GTAC (Google Test Automation Conference).

Disponible como versión preliminar podemos comenzar a plantear complejos tests a nivel de interfaz de usuario que hasta ahora requerían un esfuerzo extra y nada trivial. Espresso dispone de una simple API, fácil de aprender y adaptar a nuestra necesidades.

Elimina la complejidad de la gestión de distintos hilos de ejecución. Sólo debemos escribir el test de forma concisa tal cual son las verdaderas acciones Espresso se encarga de sincronizar las distintas acciones y ejecutarse cuando cada evento esté disponible siguiendo su ciclo de ejecución).

Algunos ejemplos de lo que podemos hacer con Espresso en nuestra aplicaciones Android para testear:

 onView(withId(R.id.my_view)) // withId(R.id.my_view) is a ViewMatcher .perform(click()) // click() is a ViewAction .check(matches(isDisplayed())); // matches(isDisplayed()) is a ViewAssertion

Testear los elementos visibles del action bar:

public void testClickActionBarItem() { // We make sure the contextual action bar is hidden. onView(withId(R.id.hide_contextual_action_bar)) .perform(click());

// Click on the icon – we can find it by the r.Id. onView(withId(R.id.action_save)) .perform(click()); // Verify that we have really clicked on the icon by checking the TextView content. onView(withId(R.id.text_action_bar_result)) .check(matches(withText(“Save”))); }

Como dato a tener en cuenta, es otro de los proyecto Open Source que surgen de necesidades reales del equipo de desarrollo de Google. Ha sido usado para más de 30 aplicaciones en Google como Maps, Google+ o Drive.

Ahora toca el turno de que los desarrolladores envíen feedback y colaboraciones al proyecto para poder construir un framework los bastante potente para que no sea un trauma testear la interfaz de usuario. Seguir leyendo Espresso, framework Android para hacer tests de la interfaz de usuario

SharePoint, Office y Office 365, análisis de un excelente libro

SharePoint, Office y Office 365

Ser reconocido por Microsoft como MVP (Most VAlue Professional) no es solamente el indicador de que se te considera un referente en la tecnología y en la comunidad, si no que eres también eres un excelente comunicador.

Por ello, al permitirme Krasis Press el acceso a un ejemplar del libro titulado “Todo sobre Aplicaciones para SharePoint, Office y Offcie 365”, ha sido una más que agradable sorpresa ver que los cuatro autores – Gustavo Velez, Juan Carlos González, Fabián Imaz y Alberto Díaz – son MVP sobre SharePoint; siendo toda una garantía de seguridad de la obra.

La revolución en SharePoint 2013 y Office 2013

Como bien indican en la presentación del libro, el modelo de desarrollo de aplicaciones para SharePoint y Office está sufriendo un cambio importante y fundamental. Se está pasando de un modelo integrado en la propia plataforma, las llamadas Soluciones, a un modelo basado en Tiendas de aplicaciones – como en Windows 8 o Windows Phone – que interactúan por medio de API securizadas.

Otro gran cambio que se señala en sus páginas, es el pasar de desarrollos en ASP.NET, con un gran componente de uso de lenguajes .NET como Visual asic o C#, a utilizar estándares de la industria como es HTML5, CSS3, Javascript, etc.

“¿Sabías que, cada segundo, se vende una copia de Office en alguna parte del mundo?” Ester de Nicolas, Product Marketing de Office y Office 365 en MS España.

Así en el primer capítulo se centra en la arquitectura de las aplicaciones y en los cambios que trae en ficheros tan importantes como el app.config o el manifiesto; y en donde queda claro que el nuevo modelo está basado en aplicaciones web.

Como bien describen: “Las aplicaciones son programas autocontenidos, que generalmente no utilizan el Modelo de Objetos del Servidor, fáciles de instalas para el usuario final, y que resuelven un problema específico y bien definido.”

El tercer capítulo se centra en dar un vistazo general por las múltiples herramientas que existen para desarrollar aplicaciones y soluciones para SharePoint y Office. Tal vez es el capítulo que necesita de una futura actualización, haciéndolo más extenso, ya que se limita a una breve descripción y los enlaces de descarga – a excepción de NAPA, que lo describe con más extensión.

Del capítulo cuatro hasta el ocho, se entra en profundidad en la construcción de aplicaciones para Office: Aplicaciones para Panel de Tareas, para Correo y de Contenido. Y no solamente vamos a encontrar código, sino también la descripción del flujo de comunicaciones, las referencias a las librerías Js y las CSS que debemos utilizar, o el modelo de objetos al que tenemos acceso.

SharePoint, Office y Office 365 Seguir leyendo SharePoint, Office y Office 365, análisis de un excelente libro