Hace casi exactamente dos años, en el evento NG-Europe 2014, el equipo de Angular soltó el bombazo: estaban trabajando en un nuevo framework, escrito desde cero, que iba a sustituir a Angular JS. Ahora, por fin, 24 meses después (y unos pocos más de trabajo interno en secreto), presentan la versión definitiva de Angular 2.
Puedes ver el mini-evento de presentación oficial en este vídeo de YouTube.
La versión definitiva por fin nos trae la esperada estabilidad en la biblioteca, que permitirá empezar a crear aplicaciones reales con la garantía de que no se va a caer todo al suelo en la siguiente actualización. El equipo de Angular 2 está satisfecho con el trabajo, todas las pruebas y el feedback, y por eso la han lanzado.
Conviene recordar que Angular 2 no es una nueva versión de Angular JS, sino que se trata de un nuevo framework, escrito completamente desde cero y que no tiene nada que ver conceptualmente ni en el modo de trabajar con el que han estado usando miles de aplicaciones durante los pasados 5 o 6 años. Es decir, si ya conoces Angular JS, pasar a Angular 2 no es directo ni te valen todos los conocimientos adquiridos con anterioridad.
Ahora que esta versión es definitiva, ¿qué cabe esperar de Angular en los próximos meses y años?
Bueno, en primer lugar, la versión "tradicional" seguirá desarrollándose. No en vano existen en la actualidad miles de aplicaciones creadas con ésta. De hecho está a puntito de aparecer la versión 1.6, y se esperan versiones nuevas y mantenimiento al menos para los próximos 18 meses. Además Angular JS lo utilizan unos 1.3 millones de desarrolladores, mientras que Angular 2 "solo" lo usan 480 mil.
Por otro lado Angular 2 seguirá en desarrollo continuo. Ahora mismo están trabajando en:
- Resolver bugs y hacer pequeños cambios que no afecten al código existente.
- Mejorar las animaciones.
- Mejorar la velocidad y el tamaño de descarga.
- Hacer que la parte de Web Workers deje de ser experimental para mejorar la creación de Progressive Web Apps.
- Mejorar el soporte de otros lenguajes de programación como Java y Go.
- Liberar la próxima versión de Angular Material, que se basará en componentes de Angular 2.
Por otro lado, y esto es muy interesante pues a muchos nos ha traído de cabeza, se han comprometido a seguir el estilo de versionamiento semántico. De esta forma, a partir de ahora quedará claro cuando una nueva versión de la plataforma va a suponer cambios incompatibles o no. Por ejemplo, si lanzan Angular 2.1 sabremos que no hay ningún "breaking change" en la nueva versión. Pero cuando lancen Angular 3, mejor prepárate para que todo rompa rompan cosas.
Eso sí, dicen que liberarán una herramienta Open Source que están usando internamente que te ayudará a actualizar tu aplicación de manera semi-automática, incluso cuando haya cambios incompatibles. Del dicho al hecho hay un trecho, pero ya lo veremos en los próximos meses.
Han asegurado, no obstante, que su intención es que los cambios incompatibles se hagan marcando los que sustituyen como "deprecated" (o sea, obsoletos) pero dejándolos en funcionamiento. De este modo darían mucho tiempo a los desarrolladores para mantener lo que tienen mientras adaptan las aplicaciones a lo nuevo.
Han comentado que esperan la primera versión con "breaking changes" (o sea, la 3) alrededor de dentro de 6 meses, es decir, para marzo de 2017 más o menos. Veremos si es así (a los hechos me remito) y qué nos trae. Será entonces cuando liberen la herramienta Open Source de migración entre versiones de Angular.
Ahora que ya tenemos versión definitiva, podemos empezar a usarla con confianza. Eso sí, prepárate para estar al cabo de la calle, pues no será un viaje estable y tranquilo, sino que a la velocidad a la que se mueven estos desarrollos, habrá que estar aprendiendo cosas nuevas cada poco tiempo.