En los últimos años, las interfaces de los sitios webs han adquirido gran importancia dentro de lo que es el desarrollo web. El dinamismo, la usabilidad, la velocidad, entre otros factores son cada vez más importantes para lograr estimular a los usuarios y lograr objetivos de negocio. Es por esto que herramientas como jQuery son de vital importancia para lograr esas interesantes interfaces visuales, no sólo agregando dinamismo, sino acelerando la interactividad entre usuarios y navegadores, ya que la información se puede manipular más fácilmente y con gran agilidad.

Con jQuery se puede lograr mucho. La librería provee una gran cantidad de métodos para manipular una interfaz dentro del navegador. Es incluso posible construir un sitio de una sola página con una interfaz que cambia constantemente sin tener que regenerarla completamente. Sin embargo, lleva una enorme cantidad de trabajo y el código resultante puede ser muy difícil de mantener. Por ello en los últimos años han surgido muchas herramientas implementadas sobre jQuery u otras librerías de manipulación del DOM, que simplifican en gran medida construir estas interfaces. En este artículo hablaremos brevemente de Backbone.js, Angular.js (de la mano de los desarrolladores de Google) y Ember.js. Existen más herramientas, pero las tres mencionadas son las más populares hoy en día.

El objetivo principal de estas herramientas es proveer una organización de código más conveniente y mantenible. Como resultado, logrando mayor productividad a la hora de construir la interfaz de una web, por medio de la implementación del conocido patrón MVC, aunque en este caso, del lado del cliente. Asimismo, dejando que el navegador se encarge de generar y actualizar la interfaz, se le quita esta responsabilidad al servidor, convirtiéndolo en una mera API que provee los datos al browser. Un punto importante en este tipo de desarrollo es reducir la sincronización de los datos al mínimo y aprovechar al máximo la capacidad de procesamiento que el navegador ofrece, dejando al servidor aquel procesamiento esencial que no se puede hacer del lado del cliente.