jul 21 2015

Exprimiendo las ‘builds’ con Gradle

Android Studio llegó de la mano de Gradle como nueva herramienta para la construcción y empaquetado de proyectos Android.

Esta potente utilidad, muchas veces ignorada, puede aportar mucho poder y comodidad a la hora de desarrollar un proyecto complejo: diferentes módulos, variantes, muchas dependencias, sistemas de integración continua, calidad de código, etc.

La motivación de este artículo no es más que compartir sencillas metodologías que he aplicado alguna vez en determinadas circunstancias, por lo que si consigo ayudar lo más mínimo a alguien, habré cumplido mi objetivo!

gradle

Continuar leyendo

may 18 2015

‘Avengers’ vs Dagger2, RxJava & Retrofit visto desde ‘Clean’

Últimamente, se está hablando mucho de testing y arquitectura de software en la comunidad Android, como se dijo en la última Droidcon Spain, nos estamos enfocando cada día más en como hacer aplicaciones robustas en vez de funcionalidades concretas. Eso denota que el framework y la comunidad Android actual está llegando a cierto nivel de madurez.

Hoy en día si no te suenan las palabras Dagger2, RxJava o Retrofit y eres desarrollador Android, amigo, te estás despistando, ésta serie se enfoca en dar unas ideas básicas de como usar éstos frameworks junto a una ‘arquitectura clean’ que dará robustez y escalabilidad a vuestros proyectos.

Esta primera entrega está dedicada al framework de inyección de dependencias, Dagger 2, el siguiente se centrará en RxJava.

Cómo siempre, todo el código está publicado en GitHub, por favor, todas las recomendaciones, problemas y comentarios son bien recibidos :)

Continuar leyendo

mar 19 2015

Un ‘stack’ productivo para el desarrollador android, #3, compatibilidad

Esta es la tercera entrega se la serie: “Un ‘stack’ productivo para el desarrollador android”.

En la primera entrega tratamos de definir una arquitectura modular y escalable, basada en el patrón Model View Presenter (MVP).

La segunda entrega trató de como dar pequeños mordiscos de Material Design a la aplicación, pasando por colores, transiciones, vectores, etc.

En este tercera entrega trataremos la compatibilidad, es sabido que la fragmentación de android es enorme, pasando por versiones, tamaños de pantalla, características, etc. Por eso bajaremos unas pocas versiones de la versión mínima inicial del proyecto (LLolipop) y soportaremos diferentes tipos de pantallas.

 

Continuar leyendo

feb 24 2015

Un ‘stack’ productivo para el desarrollador android #2, UI

Esta es la segunda parte en las serie: ‘Un entorno productivo en android‘, en la primera parte revisamos la arquitectura general del proyecto, esta vez se centrará en la interfaz gráfica y en algunos aspectos generales del diseño de la aplicación.

No me gustaría hablar de cómo materializar una aplicación android con Material Design, creo que hay muy buenos posts por internet como por ejemplo éste de David Gonzalez.

En el momento que escribo este artículo la aplicación es realmente sencilla respecto al diseño, una lista de películas, una vista de detalle y un navigation drawer.

El proyecto se encuentra disponible en GitHub

Continuar leyendo

feb 03 2015

Un ‘stack’ productivo para el desarrollador android #1, Arquitectura

Este es el primero de una serie de artículos sobre como configurar un entorno para llevar a cabo un proyecto android escalable, mantenible y testeable, una serie de patrones y librerías usadas de una cierta manera para no volverse loco en el día día de un desarrollador android.

Continuar leyendo

nov 29 2014

Entendiendo Material Design

materialdesign_introduction

“Material design es un lenguaje visual creado para nuestros usuarios que sintetiza los principios clásicos del buen diseño con la innovación y posibilidad de la tecnología y la ciencia, material design.”

Material como una metáfora

Material design está motivado por el estudio del comportamiento de las superficies, papel y tinta.

Los fundamentos de la superficie y la luz entrañan la esencia para explicar los movimientos de los objetos, como interactúan y como se transforman.

materialdesign_principles_metaphor

Material es, gráfico e intencional

Determinadas opciones de color, tipografías y espacios en blanco puestos de forma intencionada, ayudan a enfatizar las funcionalidades principales de forma evidente además de proporcionar puntos de referencia para el usuario.

intentional

Continuar leyendo

oct 09 2014

Un vistazo rápido al nuevo RecyclerView

lpreview

Con la versión preview de android L, Google ha presentado dos nuevos Widgets, RecyclerView y CardView, este artículo tratará el primero, el RecyclerView.

Este nuevo Widget entra en juego cuando el propósito es mostrar gran número de Views repetidamente, listas, grids, etc…, tantas que no entran en la pantalla.

RecyclerView implementa un sistema para llevar a cabo esta tarea, de forma sencilla y eficiente.

Proyecto de ejemplo

rv_demo

Todos los ejemplos de código que se muestran en este artículo se pueden encontrar en este proyecto en GitHub de forma funcional:

https://github.com/saulmm/RecyclerView-demo.git

Continuar leyendo

oct 03 2014

Los mejores atajos de teclado para Android Studio

Sin lugar a duda, android studio se ha convertido en la herramienta principal para el desarrollador android actual. A veces, uno no es consciente de las grandes características que este entorno de desarrollo ofrece, live templates, code inspection… entre muchas otras .

Una de ellas, son los atajos de teclado, android studio ofrece una gran catálogo que pueden aumentar vuestra productividad considerablemente.

El trabajo que ha hecho Philippe Breault, ha sido impoluto, quién nos ha permitido usar sus imágenes para hacer recopilación de algunos de los atajos de teclado más interesantes que éste IDE ofrece.

Moverse entre métodos y clases internas

Éste atajo permite mover el cursor al nombre del siguiente método o clase en el archivo que tengas abierto en el editor en ese momento.

Windows: ctrl + up / down
Mac: alt + up / down
moverse_entre_metodos

Continuar leyendo

may 25 2014

Developing in Android (The Movie)

Llevaba tiempo dándole vuelta a preparar un post sobre principios y best practices a tener en cuenta a la hora de desarrollar un proyecto Android. Principios que aplicaba en mi día a día en los proyectos. Tras meses profundizando en estos temas pasando por asuntos como arquitectura, coding style, clean code, principios S.O.L.I.D., que librerías usar, desacoplar, snippets… la idea del post fue mutando y se convirtio en una idea de preparar una ponencia al respecto y compartir mi experiencia en los últimos meses. Aún me queda mucho que seguir profundizando, tocar temas como inyección de dependencias, binding de vistas, testing, integración continua y la idea incipiente de un framework pero cuando surgió la oportunidad de dar la charla en Granada no pude dejar la oportunidad y aproveche el hecho como detonante para terminar de prepararla. Así que aquí os la dejo para que cualquiera que quiera sufrirme durante una hora tenga la oportunidad de hacerlo.

 

A partir de 2h5m

 

A la larga cada uno debería sacar sus propias conclusiones, las que mejor se adapten a su equipo y metodología de trabajo y a la tipología de sus proyectos, pero siempre hay que tener un punto de partida sobre el que trabajar y evolucionar, espero que estas slides os ayuden a cimentar vuestro punto de partida.

 

 

Para finalizar decir que la experiencia fue genial y agradecer el trato recibido por el GDG Granada que fue de diez, ahora ya tengo otro buen recuerdo de Granada, ciudad de la que sigo enamorado.

 

Página 1 de 1512345...Última »