PonyExpress: sumando tecnologías para crear mejores aplicaciones web

Mejorando.la es una plataforma de capacitación en desarrollo web que funciona tanto de manera presencial como a distancia. A partir de las tecnologías que utilizaban habitualmente, sus responsables idearon PonyExpress, un framework para desarrollo front-end que integra diversos módulos y bibliotecas para crear poderosas aplicaciones de lado cliente. Los elementos que componen esta colección son los siguientes:

  • jQuery. La biblioteca de JavaScript, que comentamos en numerosas oportunidades, permite manipular fácilmente los objetos del esquema DOM (Document Object Model). Este modelo brinda una estructura a los elementos que componen los documentos HTML, XML o XHTML.
  • Backbone.js. Como mencionamos recientemente, este framework nos ofrece una estructura, basada en el patrón Modelo-Vista-Controlador (MVC), gracias a la cual podemos diferenciar los componentes de nuestra aplicación y la forma en que interactúan. Esa es la arquitectura que tendrán las aplicaciones PonyExpress.
  • Neon. Un framework de JavaScript ideal para construir aplicaciones multiplataforma. A través de él se crean las clases y los módulos que componen una aplicación PonyExpress. El módulo CustomEventSupport les brinda a esas clases soporte para programación dirigida por eventos.
  • Plug/Backbone Plug. El primero es un módulo especialmente creado para PonyExpress. Permite la integración de las clases de Neon con Socket.IO, una biblioteca de JavaScript para desarrollar aplicaciones web en tiempo real (aquellas donde el cliente puede seguir recibiendo información del una vez cargada la página, sin necesidad de volver a abrirla). El segundo es una colección de Backbone que también permite ese tipo de comunicación entre el cliente y el servidor.

PonyExpress reúne un conjunto de funciones que pueden cubrir todo lo que necesitemos en una aplicación web, ahorrando trabajo en aspectos críticos, como la vinculación entre el front-end y el back-end. Sin embargo, su funcionamiento depende de muchas bibliotecas no siempre disponibles en servidores comunes, como Node.js (una plataforma para desarrollar aplicaciones escalables en JavaScript), Socket.IO y  Swig (un motor para crear templates sobre Node.js). Además, la integración con back-ends en PHP puede ser dificultosa.