El paisaje web está cambiando a un ritmo vertiginoso desde la aparición de HTML5. En lugar de Java, PHP y demás lenguajes del lado del servidor, ahora el peso de las aplicaciones recae en javaScript, un lenguaje cada vez más potente y versátil con el que se puede desarrollar desde un juego para Internet a un sistema de interacción con objetos reales combinado con Arduino y otras tecnologías similares. En este sentido, los expertos de Vector ITC Group aconsejan conocer cada proyecto particular para elegir la mejor solución.
Sin embargo, javaScript ha crecido de forma progresiva hasta hace bien poco, por lo que la única manera de desarrollar una aplicación de grandes dimensiones, escalable y sostenible es encauzándolo a través de un framework. Y aquí comienza el proceso de decisión para elegir el mejor según el proyecto, que genere la capacidad necesaria y la rentabilidad deseada.
Backbone-Marionette, Ember, Meteor, Polymer, Mithril, Angular… hay tantos frameworks y librerías js disponibles que acertar con el correcto para las peculiaridades de cada proyecto es una difícil decisión y de gran importancia para los resultados finales. Escoger el framework equivocado puede complicar en gran medida el desarrollo y la calidad de una aplicación, mermar su perdurabilidad, dificultar su mantenimiento y demás problemas de sostenimiento que a medio plazo se convierten en inversiones sin retorno. ¿Existe alguna manera de minimizar este riesgo? ¿Contamos con pistas que nos permitan tomar la decisión correcta?
Los expertos de Vector ITC Group aconsejan, como primer paso, conocer cuáles son los principales actores del ecosistema actual de javaScript. Entre ellos destacan los frameworks experimentales, ligeros, holísticos y específicos.
Cómo elegir la mejor aplicación
Con una idea general sobre javaScript podemos enmarcar la respuesta de la pregunta inicial: ¿qué herramientas escoger para nuestra próxima aplicación web? “Dentro de este contexto hay que analizar la naturaleza del proyecto. Pero en síntesis no existe una solución universal. Hay que analizar cada caso”, afirma Marcos Mendez, jefe de proyecto del área de Desarrollo en Vector ITC Group.
Lo primero que se debe tener en cuenta es el target de la aplicación o, mejor dicho, sus navegadores. Si debe funcionar también para el Explorer, en general, hay que olvidarse de los frameworks experimentales de momento, dado que solo desde la versión 11 de este navegador es capaz de digerir el javaScript convencional, según los análisis de html5test.com. Para emular la versión 6 de javaScript y otras novedades es necesario hacer tantos esfuerzos que, al final, no compensan las ventajas que aporta un framework.
En este sentido, también se debe tener en cuenta cuando se trata de aplicaciones multiplataforma cuál es el umbral inferior de los dispositivos móviles en los que debe correr y, en este caso, el límite lo marcan las versiones antiguas de Android, de la 4.4.2. hacia abajo. En estos casos, cada vez menos habituales, es recomendable decantarse por algún frame ligero combinado con Cordova.
El tercer parámetro a tener en cuenta es la envergadura de la aplicación. Si es grande o es posible que lo pueda ser en un futuro, es muy razonable decantarse por un frame holístico, que con mayor o menor dificultad se puede combinar con librerías especializadas si el proyecto lo requiere, como sucede con Angular 1.*, excelente para trabajar contra REST, pero algo menos bueno para manipulaciones intensivas del DOM.
Es igual de importante tener en cuenta al equipo de desarrollo. Una de las virtudes de un framework es la facilidad para crear equipos grandes, donde el propio frame genera una estructura comprensible por todos, incluso por quien se acaba de incorporar. Y esta es otra de las ventajas de los frames holísticos; sin embargo, los frames experimentales suelen demandar una fuerte curva de aprendizaje solo en la propia herramienta, dado que es más complicado encontrar especialistas, por lo que esta ventaja tiende a disiparse.
El cuarto factor que debemos sopesar es la necesidad de realizar test, un ámbito donde sobresale Angular, el mejor frame para realizar pruebas de distinta naturaleza.
Por último, en este recuento rápido conviene recordar que si se va a utilizar Node con Mongo DB, es recomendable recurrir a MEAN, que combina estas dos tecnologías con Express y Angular.