Algunos recordamos con dolor aquellos días en los que teníamos que usar Eclipse para desarrollar aplicaciones en Android. El cambio a Android Studio y la introducción de Gradle supusieron un innumerable número de mejoras y de flexibilidad que aún a día de hoy sigue dando sus frutos.
El nuevo Android Studio 2.2 presentado durante el Google I/O ha querido ir más allá, ofreciendo una gran cantidad de herramientas que facilitarán mucho el día a día de los programadores Android.
Hemos podido ver mejoras a nivel de diseño, desarrollo, compilación y testing, de las que paso a hablarte una a una.
Diseño
En este aspecto hemos visto el que quizá sea el cambio más grande que se ha hecho en la forma de diseñar pantallas desde que se implantó Android Studio. ¿Conseguirán por fin que nos olvidemos del XML y utilicemos el diseñador visual?
Nuevo editor de layouts y el Constraint Layout
El editor de layouts ha sido totalmente renovado y adaptado para ser más sencillo de usar. Las dos características principales son:
El modo blueprint: Con él podemos ver la "radiografía" de nuestro layout: cómo cada una de las vistas se relaciona con el resto, especialmente útil para el nuevo
ConstraintLayout
.Un panel de propiedades simplificado: Se ha hecho un gran esfuerzo de organización para dejar a la vista sólo las propiedades más utilizadas de cada una de las vistas, de tal forma que no nos volvamos locos buscando entre propiedades que casi nunca se usan. Siempre podremos pasar a una vista más detallada para ver el resto.
Muy relacionado con este nuevo editor, nos llega el que han llamado ConstraintLayout
, un layout específicamente diseñado para ser utilizado con el editor y que, nos aseguran, nos permitirá crear interfaces de usuario complejas sin necesidad de anidar múltiples ViewGroup
. Esto supone una mejora en cuanto a rendimiento.
El ConstraintLayout
basa su funcionamiento en "constraints" que anclan unas vistas a otras, a posiciones de la pantalla, etc. Aquí es donde el modo blueprint nos ayuda a saber qué está ocurriendo. Además, el editor puede calcular de forma inteligente algunos de estos constraints.
Por lo que he podido probar, requiere un poco de práctica hasta que se entiende cómo funciona, pero parece muy potente.
Inspector de layouts
Aunque ya teníamos un inspector que nos permitía saber cómo estaba estructurada una vista, este nuevo inspector es mucho más potente, pudiendo revisar toda la jerarquía de vistas, y qué atributos tiene cada una. Se puede acceder a él desde el monitor de Android.
La pena es que sólo se puede usar con Apps en debug. Sería muy interesante poder inspeccionar cualquier pantalla de cualquier aplicación, y aprender cómo ha sido diseñada.
Desarrollo
El nuevo Android Studio 2.2 se alinea con la última versión de IntelliJ (2016.1), incluyendo todas sus novedades. Pero, además, incluye mejoras en otros frentes
Un plugin para Firebase
Si no te perdiste el Google I/O, sabrás que Google ha transformado Firebase en la herramienta con la que todo desarrollador de Apps soñaría y, además, gratis hasta cierto número de peticiones.
Las novedades darían para un artículo completo, pero en Firebase se han integrado herramientas como analíticas, mensajería en la nube, AdMob, informe de errores, notificaciones push, almacenamiento en la nube...
El asistente que se incluye ayuda a trabajar con Firebase de forma mucho más sencilla, indicándonos los pasos necesarios para integrar cualquiera de los servicios.
Buscador de ejemplos de código
Si sobre cualquier clase hacemos click con el botón derecho (o ALT+F8), obtendremos un listado de ejemplos donde se usa esa clase en los distintos repositorios de Google.
De esta forma puedes ver en contexto cómo se utilizan clases que no conocías. Realmente útil.
Y más mejoras
Lint incluye algunas novedades, y ahora detecta nuevos casos donde puede haber problemas. Uno de los que más me ha llamado la atención es que ayuda a detectar la visibilidad adecuada, como por ejemplo un método que es público y podría ser privado.
Además, se han añadido mejoras cuando se trabaja con C++ y el NDK, permitiendo depuración paso a paso mucho más precisa por ejemplo, y saltando sin problema entre código Java y C++.
Construcción
El compilador experimental Jack ahora soporta anotaciones y compilación incremental
En este aspecto siguen las mejoras relacionadas Instant Run, que sigue evolucionando hacia el objetivo de conseguir que la gran mayoría de las ejecuciones sean en caliente, y por tanto no necesiten reiniciar la aplicación.
Pero además también ha habido avances en el compilador experimental Jack, que ahora soporta anotaciones y compilación incremental.
Una novedad muy interesante es el nuevo visor del Merged Manifest. Cuando se compila una aplicación, todos los Manifest de las librerías que incluyas en tu proyecto se unen en uno solo, que es el que conforma el Manifest final. A veces ocurre que tu aplicación pide un permiso que tú no has añadido, y no sabes qué librería lo está incluyendo. Con el nuevo visor no volverás a tener ese problema.
Testing
En el futuro, Android Studio podrá guardar tu interacción como tests de Espresso
En testing, la novedad principal es que podremos grabar nuestra interacción con la aplicación en forma de tests de Espresso, de tal forma que luego se puedan reproducir automáticamente como tests de instrumentación. En la última versión hasta la fecha (2.2 Preview 2) aún no se ha añadido esta función, pero estará disponible en algún momento.
Una novedad de la que sí que podemos disfrutar ya es la del analizador de APK. ¿No sabes qué hace que tu APK ocupe tanto espacio? ¿Quieres saber qué librería está haciendo que llegues al límite de 64.000 métodos? Puedes comprobar todo esto y mucho más.
Ve a "Build" y allí encontrarás la opción "Analyze APK". Aquí puedes inspeccionar todo el contenido del APK, como los recursos, los layouts, las clases que utiliza, etc.
Conclusión
Como ves, son muchas las novedades que nos ha traído esta nueva versión del Android Studio. Desde mejoras a nivel de diseño como el nuevo editor de layouts, hasta otras útiles para detectar problemas como el inspector de layouts, el de APKs o el visor del Manifest.
Muchas mejoras que nos ayudan a los desarrolladores Android a crear aplicaciones de mayor calidad en menos tiempo.
¿Has probado el nuevo Android Studio? ¿Qué te parecen todas estas mejoras?