Una aplicación de ejemplo con CoffeeScript y Backbone.js con MongoDB

Con esto del coffeescript el desarrollo de UI para la parte cliente se simplifica un montón. Aqui pongo un ejemplo de código que refleja la potencia del tema. Una aplicación que interactúa con modelos en memoria y en una BD NoSQL.

El objetivo

La página contiene una colección de modelos en memoria. Los botones permiten añadir modelos, manipular sus atributos, borrar la lista de modelos, grabarlos a DB y cargarlos desde DB. Las modificaciones NO funcinonan, o sea, si se carga un modelo desde DB y se vuelve a guardar, lo hace como un nuevo objeto … ando tras la pista del porque ;) pero no puedo esperar a enseñar el source, mientras no esté el proyecto listo del todo, ahi va un adelanto:

La DB

Es la primera vez que pruebo mongoBD y es curioso, al ser repositorios de documentos heterogéneos hay que cambiar el chip :) eso de que una tabla pueda tener filas con campos distintos es una herejía en el mundo relacional … Solo hay que instalar, crear el directorio /data/db y listo Eso si, para prevenir el cross-site AJAX error , recomiendo montar todo el entorno bajo Apache y meter las siguientes directivas, de esta manera se pueden hacer uso de las caracteristicas REST de MongoDB a traves de mongodb-rest. Para solucionar lo del cross-site AJAX modificando cabeceras, hay que cargar el modulo headers de apache y meter esto:

Header set Access-Control-Allow-Origin “*” Header set Access-Control-Allow-Methods “PUT, GET, POST, DELETE, OPTIONS” Header set Access-Control-Allow-Headers “Content-Type”

La interacción a través de comandos con mongo permite ver lo que esta pasando en la BD con cosas como:

Para borrar BD: db.agents.drop() Para ver BD: db.agents.find()

La creacion de BD en mongo es transparente, no hay que hacer nada, cuando se crea el objeto en la colección, se crea la BD. :O

HTML

La página es extremadamente simple. Solamente incluir un script, que a través de require.js carga todas las dependencias y los coffeescripts compilados, y un div para incluir el codigo de la vista backbone.

<script type="text/javascript" src="assets/js/require.js" data-main="assets/js/main.js"></script>

Manu’s CoffeScript , MongoDB and backbone.js Sample

Sources en GitHub: https://github.com/manufy/jsagents Demo en: http://tao.homeunix.net/jsagents/frontend/coffescripttest.html

CoffeeScript

CoffeeScript compila en segundo plano, asi que para el desarrollo es muy cómodo usarlo junto con less como motor css. Simplemente cambiando el css y grabando los cambios, los resultados se reflejan en el browser. Con los scripts es simpático, porque al grabar un cambio en el coffeescript si hay un error de compilación suena un ¡¡ beep !!. Y con esto y un bizcocho …. o una beer(tm) ;) queda casi todo funcionando, a excepcion de los UPDATES en la BD, que siempre me hacen un siete y se crean nuevas instancias de los modelos …. la solución pronto ;)

6 thoughts on “Una aplicación de ejemplo con CoffeeScript y Backbone.js con MongoDB

  1. Pingback: Manu º¹ºº¹¹º¹º¹¹¨¨

  2. Pingback: Manu º¹ºº¹¹º¹º¹¹¨¨

  3. Manu º¹ºº¹¹º¹º¹¹¨¨ on

    El tag funciona cuando le da la gana, en cuanto tenga una solución reescribo el artículo en condiciones y traducido ...

  4. Pingback: manu

  5. Signe Heffington on

    Coffee is a brewed beverage with a distinct aroma and flavor, prepared from the roasted seeds of the Coffea plant. The seeds are found in coffee “berries”, which grow on trees cultivated in over 70 countries, primarily in equatorial Latin America, Southeast Asia, India and Africa. Green (unroasted) coffee is one of the most traded agricultural commodities in the world.’

    Au revoir
    <http://www.caramoanpackage.com

Deja un comentario

Tu dirección de correo electrónico no será publicada.

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>