martes, 24 de mayo de 2016

¿Qué Framework Elegir Para Mis Desarrollos?

Cuando estás empezando en el desarrollo de aplicaciones web, de pronto te das cuenta que con únicamente HTML y CSS no puedes hacer mucho, necesitas JavaScript.
Pero en cuanto empiezas a investigar sobre este lenguaje te das cuenta de que forma un ecosistema brutal, y te sientes perdido entre tanta librería, framework, plugin, etc...
He escrito este artículo para guiarte en esta selva que es el desarrollo web (En su parte Frontend principalmente).
A menos para que sepas qué es cada librería, por qué surgió, cuál es su objetivo y por qué fue sustituida por otra.

jQuery


jQuery es una librería de JavaScript que facilita el desarrollo con éste lenguaje.
No es un framework como tal, ya que no implementa ningún patrón de diseño, sólo sirve para hacer más fácil algunas expresiones.
La parte mala es que muchos desarrolladores se acostumbraron a este tipo de programación y olvidaron como se implementaba en JavaScript natural.
Un ejemplo del uso de jQuery es por ejemplo cuando queremos seleccionar un elemento del DOM con el id "miElemento":
// Vanilla JavaScript var elem = document.getElementById("miElemento"); //jQuery var elem = $("#miElemento");
La sintaxis de jQuery es más sencilla de recordar pero provoca que a la larga olvides como funciona JavaScript.

Bootstrap

Éste framework fue creado por un empleado de Twitter y lo liberó como Open Source.
Su popularidad se le debe a la facilidad de maquetación que supone usar sus clases CSS, así como el diseño visual de los principales elementos HTML de cualquier página web.
Es muy útil para realizar pequeños proyectos y probar su funcionamiento antes de invertir en diseño.

Foundation

Foundation es el otro gran combatiente en ésta batalla por el control del CSS.
Su funcionamiento y uso es similar a Bootstrap, y tanto uno como el otro mejoran al otro cada vez que cambian de versión.
En su momento Foundation era mejor porque implementaba mejor el patrón Mobile First y las etiquetas HTML para los diferentes elementos.
Después llegó Bootstrap y con su versión 3, mejoró esta parte. Actualmente Foundation está en su versión 5 donde tiene un apartado específico para WebApps, pero está preparando la versión 6, al igual que Bootstrap su versión 4, donde ambos utilizarán Flexbox CSS para el posicionamiento de elementos en la página web, lo que hará que mejore mucho más su rendimiento.

jQwidgets

jQWidgets brinda una solución integral para la construcción profesional sitios web y aplicaciones móviles. Está construido totalmente en estándares abiertos y tecnologías como HTML5, CSS, Javascript y jQuery. jQWidgets permite el desarrollo de la capacidad de respuesta de la web y le ayuda a crear aplicaciones y sitios web que parece hermoso en ordenadores de sobremesa, tablets y teléfonos inteligentes. Usar jQWidgets con frameworks populares como tecnologías de servidor como PHP, JSP, ASP.NET MVC y Node.js.
JQWidgets es una característica marco completo con toque profesional-enabled jQuery widgets, temas, validación de entrada, drag & drop plug-ins, los adaptadores de datos, construido en Wai-ARIA, accesibilidad, internacionalización y MVVM soporte.

La llegada de los Frameworks JavaScript

jQuery estaba y sigue estando muy extendido, pero a medida que las aplicaciones web implementaban cada vez más funcionalidades y complejidad, jQuery se hacía inmanejable. Llamadas AJAX, cambios de vista, etc..
El patrón de diseño MVC (Modelo, Vista y Controlador) se estaba empezando a necesitar en el Frontend cuando siempre había sido una cuestión de Backend. Surgieron varios, pero el que destacó y sigue ocupando una parte importante en el pastel es Backbone.

Backbone JS

Fue creado por Jeremy Ashkenas, autor también de la librería Underscore, y del precompilador CoffeeScript.
Backbone debe su popularidad a que es un framework extremadamente ligero (7 Kb) comparado con otros, y te permite utilizar el sistema de plantillas que quieras, otras librerías, etc.. es bastante flexible.


Ember JS

Ember es otro framework de la familia MVC. No lo conozco mucho porque no he trabajado con él, pero las bases son similares a Backbone. Es muy popular por los desarrolladores en Ruby on Rails.

Angular JS

Angular es un proyecto iniciado por Google y alcanzó mucha popularidad rápidamente. Angular trajo funcionalidades integradas que usando JavaScript Vanilla o BackboneJS necesitaban de otras librerías para implementarlo.
Angular provee un sistema de módulos propio, no es necesario utilizar Require.JS como podría necesitarse en Backbone. También trae su propio sistema de plantillas, no es necesario implementar Moustache, Handlebars, etc... Provee servicios propios para traer datos vía AJAX, sin necesidad de liberías externas.
Puedes construir directivas para extender el HTML de tus aplicaciones web, etc...
Esto hace que sea un framework más pesado, pero del que puedes sacar mucho partido. Su curva de aprendizaje es como una montaña rusa, pero una vez que entiendes gran parte de su funcionamiento te resultará muy rápido crear aplicaciones web.








0 comentarios:

Publicar un comentario