jueves, 13 de enero de 2011

Android TIP: refrescar recursos

En las últimas semanas he empezado a meterme en el mundo de Android con la idea de hacer algunas pequeñas aplicaciones, y poder publicarlas en el market.

Como punto de partida me he marcado el objetivo de crear un juego, y aprender así a manejarme con el entorno y herramientas de desarrollo. En futuros posts iré dando más detalles sobre el proyecto (si puede llegar a tener esa categoría). De momento, simplemente una pequeña ayuda para reducir tiempos de espera al trabajar.

Uno de los principales problemas que le veo al desarrollo para Android con Eclipse, mediante el plugin ADT, es que el emulador es bastante lento, sobre todo a la hora de arrancar, y en ocasiones puede hacerte perder la paciencia.

Si estás desarrollando una aplicación, y especialmente si es un juego, es normal que manejes ficheros de recursos, y concretamente imágenes. Y también es normal que las modifiques a menudo para ir metiendo mejoras en el apartado gráfico. Ante una situación de cambio en cualquier fuente del proyecto durante el desarrollo, siempre surge la duda de qué hay que hacer para que ésta se refleje en nuestra ejecución. ¿Compilo? ¿Redespliego? ¿Simplemente guardo? ¿Reinicio el ordenador?

Depende de con qué estés desarrollando. En el caso de Android, hasta donde sé, si haces un cambio en el código, simplemente tienes que volver a ejecutar la aplicación, pero no el emulador. Sin embargo, esto no es suficiente cuando el cambio se hace en un fichero de recursos. No vale ejecutar la aplicación, ni tampoco reiniciar el emulador, si no has refrescado antes la carpeta de recursos. Esto lo hacemos desde el explorador de paquetes, con el menú contextual.

Tras el refresco sí que podemos ejecutar de nuevo sobre el emulador que tengamos arrancado, y veremos que los cambios han sido aplicados.

miércoles, 22 de diciembre de 2010

Tutorial de GMF

El desarrollo guiado por modelos, o Model Driven Development, o MDD, es una forma de desarrollar software basada en la idea de que podemos obtener el código fuente directamente a partir de la definición de modelos, sin necesidad de codificar (o reduciendo lo más posible esta fase). En otras palabras, lo que pretendemos es centrarnos en la definición a alto nivel de la solución, y obtener su implementación concreta por medio de sistemas automáticos.

Un concepto inexorablemente relacionado es el de lenguaje especifico del dominio (DSL, Domain Specific Language). Es difícil explicar qué es un DSL siguiendo la norma de que lo definido no puede ser utilizado en la definición, dado que en este caso el término tiene un nivel de autodescripción más que suficiente. Pero bueno, podríamos decir que un DSL sería una especificación o técnica de representación pensada para un contexto o problema concreto.

En cualquier caso, para profundizar en estas ideas y ver en qué se traducen a nivel práctico, adjunto a este post ofrezco un tutorial en el que se muestra un ejemplo de uso de la herramienta GMF (Graphical Modeling Framework). Este plugin permite crear editores gráficos para Eclipse y, en conjunción con Mofscript, generar código a partir de lo modelado con ellas.

Aquí el tutorial, en el que estreno además mi nueva identidad corporativa.

Identidad corporativa

Una manzana mordida.



Una taza de café humeante.



Un caballo encabritado.



Una bandera de cuatro colores.



¿¿Te dicen algo??








¿¿Y ahora??

Seguro que has tardado poco en identificar cada uno de estos objetos con la marca a la que representan, claro.

Esto se debe a que todas las grandes empresas, y buena parte de las pequeñas, tienen bien definida su identidad corporativa. Básicamente la identidad corporativa es el conjunto de imágenes, tipos de letras, colores, etc., que una empresa utiliza y la hace reconocible frente a cualquier otra.

El elemento central suele ser el logotipo, pero no se reduce unicamente a eso. Un manual de identidad corporativa incluye también los tipos de letra, tamaños, colores, distribución de información, y todo lo que se te pueda ocurrir, que se debe utilizar para cualquier comunicación que provenga de la empresa.

¿Y todo esto para qué? Pues para obtener reconocimiento. Lo que consigue la empresa es que se le identifique rápidamente; que cuando veas un deportivo rojo pasar a 200 por hora y atisbes un caballo en su frontal digas: pedazo de ferrari. O que cuando estés trabajando con un programa y veas una tacita de café sepas: basado en tecnología Java. O, por qué no, que cuando veas una pantalla de ordenador con fondo azul y letras blancas pienses: estos de Windows...

Porque lograr una identidad corporativa es lo que tiene. Que te puede reportar beneficios o pérdidas, pero eso ya depende de lo bien que hagas las cosas. El primer paso está dado, y es que todo el que vea tu producto sepa que es tuyo.

El único beneficio que se obtiene de la identidad corporativa en sí misma tiene que ver lógicamente con la imagen. Orden, coherencia, pulcritud, son algunos de los mensajes que se envían. Y es por eso que he decidido implantar poco a poco mi propio manual de identidad, en este caso personal.

El primer paso lo doy en el campo que considero más importante y sobre el que tengo mayor control, que es la documentación que genero, principalmente tutoriales. Así que he creado una plantilla y he definido unas líneas a seguir que espero le den un toque personal (y profesional) a mis documentos.

Si el tiempo lo permite, y supero mis limitaciones en lo que se refiere al diseño, puede que los próximos pasos sean el logo y el formato del propio blog.

sábado, 18 de diciembre de 2010

Opera: give it a try!

En un mundo en el que Internet se ha impuesto, la guerra de los navegadores Web por la hegemonía del mercado ha adquirido un enorme interés. Internet Explorer y Firefox siguen siendo los dos grandes destacados, pero a la cola vienen otros tres siguiendo su estela (en cuanto a cifras de uso, que no en cuanto a innovación y propuestas).

Esto de los navegadores es, como decía aquél, una cuestión de feeling. Resulta difícil ofrecer datos objetivos que indiquen que un navegador es mejor que otro, porque acaban ofreciendo básicamente lo mismo. Cada vez que uno saca una funcionalidad interesante, los otros la copian e incluso mejoran. Donde quizá sí pueda haber más diferencias es en la ligereza de cada uno, y es precisamente por eso que digo que, para mí, todo se reduce a una cuestión de feeling: al final me quedo con el que me da una mejor y más regular respuesta a mis necesidades.

De ahí que sea usuario, por este orden, de Google Chrome, Internet Explorer y Firefox. Desde que apareció el navegador de Google, se ha convertido en mi preferido; principalmente porque se abre más rápido, no me da problemas al visualizar ninguna de las páginas en las que me suelo mover, y tiene todas las funciones que utilizo. Explorer lo uso en segundo lugar, porque siguen quedando sitios, y sobre todo aplicaciones, que lo tienen como requisito. Y a Firefox recurro muy de vez en cuando, si me levanto con ganas de cambiar un poco.

Pero, ¿y qué hay del resto? Pues por ahí quedan Safari y Opera. El primero parece tener la estigma de ser un navegador para MAC, aunque tenga versión para PC. Y con el segundo llegamos a Opera.

Cosas de la vida, ayer se apoderó de mí la curiosidad, y me dio por descargármelo. Tenemos reciente la versión 11, y era una buena excusa para darle un oportunidad. La primera impresión ha sido buena: tiene un diseño atractivo y personalizable, ofrece marcadores, búsqueda en la barra de direcciones, pestañas... vamos, como todos. Pero también tiene algunos detalles que no he encontrado en Chrome.

Por un lado, permite la agrupación de pestañas. Es algo que personalmente no veo muy útil, pero ahí está por si acaso. Por otro, tiene una papelera de reciclaje en la que guarda las páginas que se van cerrando durante la sesión. Esto sí que me parece interesante, por si algo se cierra por accidente, o para volver atrás cuando se está buscando información (me parece mucho más cómodo que el historial). Y por último, tiene una página de acceso rápido de verdad. Para mí esta fue una de las aportaciones más interesantes de Chrome (fue el primer navegador donde lo vi, no sé si fue el primero que lo propuso), pero estaba muy limitada. Sólo mostraba las 8 página más visitadas. Sin embargo Opera permite definir cuántas y qué página quieres mostrar, y hasta poner una imagen de fondo para presentarla.


Así que en las próximas semanas le voy a dar cancha a Opera, y a ver qué sensaciones me llevo. No sé si desbancará a Chrome en mi ranking particular, pero tras la primer impresión todo apunta a que tiene garantizada la tercera posición.

jueves, 16 de diciembre de 2010

Tutorial de Pentaho: definición de un proceso ETL con Spoon

Hace ya varios meses publiqué una pequeña introducción teórica al concepto de Business Intelligence. Al final de esa entrada adelantaba mi intención de publicar algunos tutoriales en los que se mostrase cómo trabajar con herramientas de BI. Y hoy, por fin, ha llegado el primero.

Durante este tiempo he trabajado especialmente con algunas de las herramientas de la suite Pentaho, ya que las he necesitado para mi trabajo final de Máster. De esta forma he podido ver que pueden ser interesantes para algunas de las tareas que realizo habitualmente.

Un ejemplo claro son las cargas de datos. La integración de aplicaciones es algo que consume mucho más tiempo y recursos de lo que puede parecer. Por ejemplo, seguro que la mayoría de informáticos ha participado alguna vez en un proyecto en el que se tenía que hacer una migración de datos entre sistemas.

En este tutorial se desarrolla un pequeño ejemplo en el que se puede ver cómo trabajar con Spoon para obtener información de ficheros de texto, realizar un procesamiento sencillo, y después almacenarla en una base de datos. A partir de ahí, las posibilidades son enormes.

En este enlace podéis descargar el tutorial.