backbone.js recipe

¿Cuáles son sus mejores prácticas para los proyectos backbone.js?



recipe (4)

Aquí hay una lista de preguntas que parece haber hecho:

backbone.js mejores prácticas / recetas
Mi práctica / receta número uno es sumergirme en el código backbone.js y leerlo, recorrerlo con js debugger incluso. El código está bien documentado y es un excelente ejemplo de lo que debería ser el código JS moderno.

¿Cómo manejan las colecciones / vistas anidadas?
Afaik, no hay una "manera simple" de manejar colecciones anidadas y manejar eventos que ocurren en una subcolección. Tendrías que implementarlo. Sin embargo, aún no he tenido que lidiar con una colección de colecciones, así que quizás puedas evitarlo reestructurando tu "modelo de datos". Un modelo que tiene una colección de modelos en sí mismo satisface la mayoría de los requisitos de un modelo anidado .

En cuanto a las vistas, básicamente tienes el control de cómo se procesan. Una vista proporcionada por el backbone no es más que un mecanismo para obtener los cambios en el modelo correspondiente a su código de procesamiento. Usted implementa la prestación. Entonces, si desea vistas anidadas, puede usar un motor de plantillas que admita parciales (si entiendo correctamente lo que quiere decir con vistas anidadas).

Serialización JSON
¿Cuál es tu pregunta? El documento de la columna vertebral dice "se recomienda incluir json2.js"

¿Consultas más complejas entre modelos?
Una vez más, ¿cuál es tu pregunta? Backbone te proporciona la estructura para hacer lo tuyo, debes implementar las complejidades tú mismo.

Relaciones entre modelos
Una vez más, están implementando los modelos. Tus modelos pueden contener otros modelos. Lo que hagas con ellos y cómo interactúes depende de ti. En mi experiencia, no fue necesario replicar el modelo de datos de back-end en javascript. Es bastante posible que sus modelos front-end sean más simples que los modelos backend.

Herencia modelo
Al utilizar backbone.js, ya está utilizando la herencia del modelo. Esto es lo que sucede cuando escribes var MyModel = Backbone.Model.extend ...

Lo siento por no entrar en más detalles, pero como dijo Thomas Davis, las preguntas eran muy vagas. Obtendría una respuesta más detallada en una pregunta más detallada que describe un problema específico que está teniendo.

Aunque estoy siguiendo backbone.js durante algunos meses y he trabajado a través de una gran cantidad de tutoriales, todavía no estoy lo suficientemente seguro como para usarlo en un proyecto más grande.

Mi experiencia es que los tutoriales de backbone.js varían mucho en calidad, algunos están terriblemente anticuados (especialmente la aplicación de ejemplo de todo de los documentos de la red troncal).

¿Entonces me gustaría saber acerca de las mejores prácticas / recetas de tu backbone.js? ¿Cómo manejan las colecciones / vistas anidadas? Serialización JSON? ¿Consultas más complejas entre modelos?


Como la respuesta a esta pregunta puede ser demasiado larga, debido al alcance general que tiene, dejaré estos enlaces aquí. Espero que ayuden a otras personas que encuentren esta pregunta, ya que me ayudaron a comprender mejor este marco y a tener una mejor aplicación, con un uso eficiente de la memoria, una mejor organización de archivos y un código más legible y mantenible. :

http://ricostacruz.com/backbone-patterns/

http://kilon.org/blog/2012/11/3-tips-for-writing-better-backbone-views/

http://blog.involver.com/2012/01/26/testing-backbone-js-best-practices-2/

http://lostechies.com/derickbailey/2011/09/15/zombies-run-managing-page-transitions-in-backbone-apps/ (solución desactualizada pero realmente importante para leer y entender)

https://github.com/thomasdao/Backbone-View-Manager

Ojalá tuviera esto desde el principio.

¡Aclamaciones!


Creo que las preguntas son un poco vagas para ser respondidas en un post simple.

Estoy a punto de completar una aplicación web completa realizada en Backbone.js y también me gustaría hablar sobre estas mejores prácticas para poder revisar algunas opciones rápidamente antes del lanzamiento.

Estoy trabajando en backbonetutorials.com en este momento para intentar agrupar estas preguntas más difíciles al final.

Las soluciones para salvar colecciones probablemente serán la primera pregunta, pero serían impresionantes si hubiera algún compromiso de la comunidad.


Hay varias cosas de las que puede ocuparse mientras desarrolla aplicaciones basadas en Backbone.js. Por ejemplo:

  1. Complementos personalizados y mixins.
  2. Vistas anidadas / vistas secundarias
  3. Actualización de vista parcial
  4. Gestión de plantillas: almacenamiento, precompilación en el extremo frontal y posterior.
  5. Modelos de serializacion
  6. Modelo de datos relacionales
  7. Usando el despachador de eventos
  8. Subarrotando
  9. Arquitectura de aplicaciones a gran escala, etc.

Hay muchos más conceptos que son esenciales para desarrollar aplicaciones basadas en Backbone.js de una sola página. Puede probar mi libro Backbone.js Patterns and Best Practices que analiza todos estos puntos en detalle.