Me puse a jugar con los templates, y me di cuenta de que vamos a
necesitar otro complemento del require.js, uno que se llama text, con
esto vamos a poder cargar las templates de underscore, las variables se
le pasan a las templates mediante un objeto javascript (aka json),
realmente muy sencillo su funcionamiento y en extremo útil.
A modo de extender lo que hizo Álvaro.Creo un archivo llamado index.html (underscore template) y lo puso en interactive/public/javascripts/app/views/templates/Luego en el archivo app.js (del directorio interactive/public/javascripts/app/lib/) cargo dicho template en su lugar correspondiente (el elemento div#container de la vista de jade index.jade).Para que hicimos esto para una correcta integración (fácil) con backbone, sus modelos, variables, etc. (si no es así álvaro sentite en libertad de ajustar lo que digo).Salu2
2012/4/20 Alvaro J. Correa Pereira <correapereira...@gmail.com>
Quedó perfecto.
Quedó perfecto.
En este comprimido vana notar que las cosas se ponen más complejas.
Utilizando la barra de navegación del Nico, añadí sus correspondientes
vistas (son solo etiquetas h1, pero creo que se entiende el punto).
Backbone dice implementar el patrón MVC, pero nos ofrece algo un poco
más extraño (aunque para mi resulta más cómodo):
- Modelos: Bueno, son iguales a los modelos de rails/grails, no hay
demasiada cosa para aclarar acá.
- Colecciones: Estos muchachos se encargan de controlar a los modelos
(abm), cumplen una función similar a la de los controladores de
rails/grails. En lo posible, se debería delegar a la colección
correspondiente que cree un modelo y no hacerlo 'manualmente'.
- Routers: Por lo que entiendo (no estoy 100% seguro de que así sea),
backbone.js parte al controlador en dos entidades, las colecciones (que
se encargan de comunicarse con los modelos) y los routers. Estos
routers, como su nombre indica, se encargan de asociar funciones a las
urls. Las urls que backbone maneja son las que vienen luego de la
almohadilla (#). En el comprimido van a ver que lo único que hacen es
invocar a las vistas.
- Vistas: Normalmente estamos acostumbrados a que la vista sea el
archivo html (o el template), pero acá no manejamos con vistas lógicas,
lo que quiere decir que cada vista va a ser no un documento html en sí,
sino que una porción de este, a la cual se le pueden asignar eventos y
demás. En el ejemplo solo cargamos un template de underscore y nada más,
pero luego con el tiempo van a ver que se puede hacer magia con las vistas.
Les recomiendo que lean la documentación de backbone, hagan algunos
tutoriales y/o se pongan a jugar con estas cosas para entenderlas mejor.
Espero no haber oscurecido el panorama, si no entienden algo me pegan el
grito (o lo mandan por escrito mejor) y veo otra manera de explicar las
cosas.