Tutorial node.js + express + jquery (IV): Conclusiones y próximos pasos

Este post forma parte de una serie de varios:

En este último post de la serie quiero hacer un pequeño resumen de lo que hemos hecho y también de algunas cosas que NO hemos hecho y sería bueno hacer o, al menos, investigar un poco.

Lo que ya sabemos

Está claro que la aplicación de ejemplo era una chorrada, pero aun así nos ha permitido poner en práctica bastantes conceptos útiles a la hora de desarrollar una aplicación con node.js y jQuery. Con lo que hemos visto, podemos:

  • Crear una aplicación con express y ajustar su configuración (View Engine, contenido estático, etc.).
  • Crear vistas con Jade, incluyendo en ellas datos generados dinámicamente y usando un layout para mantener consistente el aspecto general del sitio.
  • Configurar rutas en express, utilizando distintos métodos HTTP y accediendo a los parámetros que aparecen en la url de la ruta.
  • Definir funciones para procesar rutas y devolver HTML (a través de Jade).
  • Definir funciones para procesar rutas y recibir/devolver JSON.
  • Usar jQuery para realizar peticiones GET al servidor y descargar datos para mostrarlos en la página.
  • Realizar peticiones POST con jQuery para enviar al servidor cambios generados en el cliente.

No está mal. Estos bloques cubren bastantes de las cosas que son necesarias para hacer una aplicación web “moderna”. Sin embargo, hay muchas cosas que se han quedado por el camino.

Lo que podemos mejorar

Entre las cosas que no hemos tratado, hay algunas que me parecen especialmente importantes:

  • No hemos escrito ningún test unitario. Personalmente, me gusta expresso para crear tests sobre node.js.
  • No hay ningún tipo de control sobre la sesión. Es una aplicación de verdad, es probable que haya que controlar temas como autenticación, autorización, etc., y mantener estado entre distintas peticiones HTTP de un mismo cliente.
  • No hemos tocado ninguna base de datos. Los datos están almacenados en memoria y se pierden cada vez que se reinicia la aplicación. Puestos a jugar con eso, sería interesante probar MongoDB+mongoose o cualquier otra base de datos NoSQL.
  • El sistema de asignación de rutas a funciones, es decir, el app.get(‘/’, routes.index), es muy rudimentario. Estaría bien buscar una forma de montar un MVC más decente.
  • Podíamos haber aprovechado las herramientas que brinda jQuery UI para hacer un interfaz de usuario más atractivo y amigable.
  • Para la parte cliente, se podría haber usado alguna librería MVVM que facilitase la parte de databinding y validación, como por ejemplo, Knockout o Backbone.

En definitiva, si te ha parecido interesante el tutorial y quieres jugar más con node.js y jquery, creo que han quedado en el aire suficientes cosas como para pasar un rato entretenido. Es posible que en el futuro hable sobre alguna de ellas, así que si te interesa, ya sabes, suscríbete a este blog :-)


10 comentarios en “Tutorial node.js + express + jquery (IV): Conclusiones y próximos pasos

  1. Pingback: Tutorial node.js + express + jquery (I): Creando la aplicación « Koalite's blog

  2. Pingback: Tutorial node.js + express + jquery (II): Generando vistas con Jade « Koalite's blog

  3. Pingback: Tutorial node.js + express + jquery (III): Usando jQuery « Koalite's blog

  4. Muy buen tutorial. Estoy empezando con Node.js, Express y Jade y tu tutorial explica de forma muy clara como comenzar en este mundo de desarrollo de aplicaciones web ‘modernas’.

    Muchas gracias y espero ver mas tutoriales tuyos.

    Brett Alistair Kromkamp

  5. Luis Salazar dijo:

    Excelente un buen tutorial para arrancar en el mundo de Node.js, Express y jade

  6. Pingback: Tutorial node.js + express + jquery (IV): Conclusiones y próximos pasos | javascript.js | Scoop.it

  7. Este tutorial esta genial que que bueno que hay gent como tu que comparte lo que sabe

Deja un comentario

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

*

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>