AngularJS, ese pequeño enorme framework

Estoy renovando web y reactivando el Blog, estos Tips que siempre son útiles para algunos developers como yo.

Si bien siempre he sido del palo del Java, voy a compartir una realidad de mi trabajo. Simplemente se trata del framework web.
Cuando mi apreciado colega, Silvio Moschen me pregunta: si hoy debes comenzar un proyecto, cuales frameworks elegirías?
Fue entonces que me di cuenta que no lo sabía en concreto, me puse a imaginar esto:

Backend y lógica enterprise:

  • Spring Framework con AOP y HIBERNATE de ORM
  • Spring Security
  • Spring MVC con REST Controllers.
  • Puede ser EJB si dispongo del contenedor. Me es igual a Spring.
  • Luego, dependiendo de otras cuestiones, en Java siempre obtenemos las librerías que quisiéramos sin movernos de Maven. Por ejemplo, si me piden Excel, cargo el Apache Poi y asunto terminado.

Hasta ahora todo Ok, pero notamos que Spring es mi solución ideal del backend… no es mi mejor opción en la web. Por que?

Tengo para seleccionar frameworks que he utilizado con mucha frecuencia y mis opiniones al respecto, porque como se sabe, sólo debemos opinar de aquello que conocemos:

  • JSF 2.x: A mi parecer, en su momento estuvo bien, a pesar de su lentitud en renderizados pero se potenciaba mucho con sus add-ons como PrimeFaces. Ahora está fuera de tiempo, por ejemplo, Bootstrap ya no es posible utilizarlo con el, por lo menos de una manera humana. La falta de novedad al respecto creo que me da la razón.
  • ExtJS: Puro JavaScript, bastante complejo y códigos algo extensos para su batería de controles. Lo bueno es que puedes controlar todo. Digamos que es un framework de bajo nivel si lo vemos desde el browser. Su calidad de propietario me han hecho desistir de ExtJS.
  • ZK Framework: Fue mi alternativa al ExtJS cuando la busqué, un framework con controles Javascript mas unificado al Java. Con opciones MVC y MVVM, este último fue el que utilicé. Me parece (solo es mi opinion) que MVC ya está sintiendo el tiempo. Es propietario con una versión Community muy completa. Tengo varios sistemas actuales en él, pues es un framework muy ágil y simple de utilizar.
  • Spring MVC: Me gustó pero luego, con Ajax a los parches, dejó de gustarme.
    Sigue flojo en Bindings de clases y prácticamente no tienes un MVVM resuelto.
    Se quedó en el tiempo y su MVC puro y duro lo hicieron complejo. Entiéndase, busco soluciones que se amolden al tiempo y la web crece día a día.
  • AngularJS o similares: Una luz dentro del túnel. Es la forma que lo describo. Con una ingeniería perfecta, la gente de AngularJS nos ofrece la perfecta solución desacoplada entre backend y frontend.
    Sin dudas sería mi opción, a pesar de su falta de controles, es una opción que no me complica el layout html y tampoco me obliga a utilizar una tecnología de servidor concreta, pero claro, se recomienda Rest.

Espero que les sea de útil referencia.

Anuncios