AngularJS

Libro introductorio sobre AngularJS y sus prácticas

Hace ya algunos meses terminé de leer un libro que me sería útil para un proyecto en el que estoy involucrado, en el cual usamos AngularJS. La librería me encanta, pero me tomó un tiempo entender su filosofía, y ahí es en donde este libro hace su aparición.

El libro comienza un poco lento, especialmente para alguien que ya estuvo experimentando con la librería y quiere comprenderla. Para alguien que nunca escuchó hablar de ella, es una buena introducción. En general el libro cubre varios aspectos de la misma, sin ir nunca demasiado en detalle. Como tal, no es un buen libro de referencia pero sí un buen libro para principantes.

Lo más interesante del libro es que hace mucho énfasis en varias de las buenas prácticas y metodologías, algo que ciertamente no me canso de pensar: debería ser más hecho por todos los libros. Me agrada mucho que este sea uno de esos. Hace un intensivo énfasis en TDD y por qué el testing es algo importante para el desarrollo, sin dejar al menos un ejemplo de cada característica que da la librería y cómo esta puede testearse.

El libro, sin embargo, no hace mención alguna a ninguna metodología de diseño, y creo que eso está bien. Parecería abogar por diseños emergentes en base al testing, pero no hace mención al respecto. Es interesante saber también que AngularJS no apunta a ninguna filosofía en particular y podemos hacer tanta chanchada como hermoso y elegante diseño querramos. Pero volvamos al libro.

En los primeros capítulos nos da suficiente información como para poder comenzar a utilizar la librería sin mucho miedo, habiendo introducido varios de los conceptos en los que se apoya (templating, MVC, data binding, dependency injection). Luego nos habla de varias herramientas que podemos utilizar para acelerar nuestro desarrollo, y finalmente indaga un poco más a fondo sobre estos conceptos, nunca llegando a un nivel experto ni demasiado detallado. Finalmente, abunda en ejemplos simples sobre situaciones particulares para demostrar algunas características, pero nada que pueda considerarse al nivel proyecto o aplicación entera. Varios elementos que la librería provee no se encuentran explicados en este libro.

Aún así, a pesar de ese nivel de detalle extensivo, pienso que el libro habría sido muy bueno… si no fuera por haber podido detectar varios errores a lo largo de él. Algunos eran errores menores, como piezas de código que no corresponden al ejemplo que se está describiendo, o explicaciones incorrectas sobre algunos conceptos. Me considero con suerte por haber tenido una base anterior a leerlo, puesto que de no ser así, me habría confundido mucho. Por tanto es que sólo le doy tres zorrinitos de cinco: considero que puede ser algo peligroso si uno no está preparado a prestar atención a esos detalles. ¿Quizá en ediciones posteriores esto se solucione?

En fin, lo considero una buena introducción, pero hay que leerlo con algo de cuidado. Afortunadamente, hay mucho en la internet que complementa este libro, así que sigue siendo útil.