En Alvantia concebimos la calidad como una cualidad intrínseca al software. Es por ello por lo que a la hora de iniciar un nuevo proyecto, la planificación e implementación de las pruebas ocupa un lugar privilegiado. Asimismo, para asegurar esta calidad, es necesaria una búsqueda continua de las mejores herramientas y que a su vez, comparten esta filosofía de búsqueda incesante de la calidad.
Es por esto por lo que creemos que es interesante analizar AngularJS, que en dos palabras podríamos definir como una super heroica extensión del tradicional HTML.
Desde hace unos años, la popularidad de AngularJS respecto a otros frameworks queda patente en la siguiente gráfica en la que se comparan otras tecnologías basadas en el concepto ‘Single page application’ (amarillo), en concreto el framework javascript KnockoutJS (rojo) y AngularJS (azul).
Pero ¿qué aporta AngularJS que le hace gozar de tan buena salud entre la comunidad de desarrolladores? Muy sencillo, para aquellos que se interesan por la calidad, nos facilita el trabajo ya que permite centrarnos en aspectos como:
- Calidad en la experiencia de usuario: AngularJS se basa en el principio de Single Page Application. El producto permite olvidar el antiguo concepto de navegación entre páginas en el que cada vez se debe de recargar toda la página. AngularJS propone refrescar contenidos en lugar de recargarlos una y otra vez, lo que proporciona una mayor fluidez en la navegación. Esto permite desarrollar interfaces de usuario de una calidad y fluidez sin precedentes y que requieren un ancho de banda mucho menor, pues la cantidad de datos a transferir entre el servidor y el navegador disminuye drásticamente.
- Calidad en el código: AngularJS proporciona como hemos dicho anteriormente una extensión del HTML tradicional gracias a sus directivas. Esto permite construir el código de forma declarativa reduciendo así la cantidad de código a la vez que se aumenta su comprensión. Asimismo, implementa el patrón MVC (Model – View – Controller) muy usado en la construcción de aplicaciones tradicionales, pero en la parte cliente. Es esta separación de conceptos la que hace que el código sea más mantenible a largo plazo.
- Calidad en las entregas: Del mismo modo que nos preocupamos por los test unitarios en el backend, AngularJS nos facilita y anima a realizar esto mismo en el lado cliente. De este modo la creación de test unitarios o test end-to-end se vuelve natural y necesaria. Este es el primer paso hacia la automatización de tests que nos permiten estar más seguros antes de una entrega o despliegue en producción. Tecnologías como Jasmin o Karma, se vuelven indispensables para esta tarea.
Por lo tanto, y como se puede apreciar, la apuesta por la calidad en la construcción de un proyecto software requiere estar al día en las nuevas herramientas que faciliten nuestro trabajo. En Alvantia compartimos una filosofía de trabajo en la que el software sólo se entrega si cumple nuestros estándares de calidad.