Nota: Este artículo viene de una opinión personal, actualmente existen un mar de frameworks Javascript, en este solo menciono los que yo o amigos han usado durante estos años y los usaría para sus proyectos considerando los requerimientos de E2E SPA frameworks .

Mucho se habla de los 1,000 de frameworks  Javascript que existen en el mercado, que cada día hay uno nuevo, que mueren más frameworks Javascript en un año que cervezas en un verano, pero todo eso es falso.

Cuando buscamos un framework que nos permita desarrollar de forma desacopladas, mantenible, y que use la últimas versiones de ES6 o ESNext entonces  ya el listado se acorta,  sabemos que la demanda de desarrollo de SPA va en aumento en lo últimos años y las necesidades , el tamaño de las mismas  por igual.

Hacer una SPA en el 2016 es muy diferente comparado con los requisitos del  año 2010 o 2012 y los frameworks que se desarrollaron durante esos años buscaban responder a una necesidad presente, aquí un listado de los frameworks que a día de hoy miramos cuando vamos a desarrollar una SPA.

  • Angular 1x   2010

Les recomiendo que miren el artículo de @carlosazaustre  donde explica como usar ES6 con angular 1.5 y trabajar orientado a componentes
https://carlosazaustre.es/blog/desarrollo-por-componentes-con-angular-1-5-con-es6-es2015/

  • Backbone    2010 
  • Ember 1x     2011
  • Durandal     2010

Estos frameworks nos permiten trabajar a día de hoy  para desarrollar SPA pero sus bases son ES5 y  las necesidades de día de hoy o la complejidad de los proyectos actuales no son satisfechas por completo por estos frameworks.

Es la razón por la cual  los equipos de estos proyectos sacan una versión 2 y a su vez nacen nuevos frameworks como alternativas.

  • Angular 2
  • Emberjs 2.0
  • Vue.js
  • Aurelia
  • Reactjs

Estos frameworks nos si permiten desarrollar de forma desacoplada, mantenible, además de poder utilizar las últimas versiones de ES6 o ES7,  de este listado podemos decir que Angular2, Emberjs y Aurelia  son los que llamo “E2E Spa Framework” ósea un ‘Todo Terreno’.

Ya que nos permiten trabajar sin agregar más librerías para la mayoría de las tareas, brindándonos un set de features que a día de hoy necesitamos para desarrollar una SPA.

Estos frameworks comparten lo siguiente:

  • Arquitectura modular
  • Inyección de dependencias
  • Gestión de módulos
  • Two-way Databinding
  • Patrón MVVM
  • Routing
  • Templating
  • Custom Elements
  • Custom Attributes
  • Task Quees
  • Pub Sub Messaging
  • Logging
  • etc..

Por tal razón a la hora de hacer una SPA a día de hoy si busco un E2E SPA Framework mis opciones a nivel personal para usar serian:

Ember

Ember esta desde agosto del 2015 con una versión estable y  un listado inmenso de clientes grandes que han optado por apostar en Ember http://emberjs.com/ember-users/ confirman la estabilidad y del producto.

Una excelente documentación le apoya y una comunidad inmensa ademas de ser un producto que tiene bastante estabilidad sin cambios drásticos.

https://guides.emberjs.com/v2.7.0/

Aurelia

Aurelia es creada por el mismo creador de Durandal unos de los frameworks mas estables y funcionales de Javascript. Aurelia  ya en version 1.0  recien sacada del horno 28 julio de 2016 cuenta con una excelente documentación y lo mas importante soporte  la palabra de más peso que pueda haber ya uno de los problemas mas grande al trabajar con un framework es solo contar con la documentacion , el repositorio de github y preguntar stackoverflow  pero saber que Aurealia cuenta con un grupo de consultores propios especializados disponible para el soporte es un plus increíble aparte de la gran comunidad.

https://github.com/aurelia/framework

Angular2 (hay que esperar ..) ?

Angular 2 aunque esta en RC sigue en beta 4 y no es un producto ya finalizado, pero es un framework con mucho potencial y un gran apoyo “google”, los que han usado angular 1x saben que muchas cosas cambiaron, pero saben que a día de hoy Angular es uno de los frameworks Javascript mas usados para desarrollo SPA o el más usado.

Angular 2 contiene los mismos features que los frameworks anteriores y nos ofrece un entorno de trabajo increíble.

Para saber el estado actual de framework les recomiendo https://splintercode.github.io/is-angular-2-ready/ en la cual dan el estado actual del proyecto.

Angular 2.0 is in Release Candidate Stage. Below are the current active milestones on Github. If you are starting a new project Angular 2 is a great option.

El único detalle es que yo me pensaría bien antes de hacer un proyecto con un producto en beta.

En Resumen si yo tuviese que apostar en serio para un proyecto a día de hoy mi opción numero uno seria Ember v2, ya que Aurelia esta recién salido del horno y Angular2 que solo le falta la crema para que este listo.

Happy SPA!

Imagen Diseñado por Freepik

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *