Flujo de trabajo y estructura de proyecto típicos de AngularJS (con Python Flask)

| | | | | | | | | | | | | | | | | | | | | | |

Soy bastante nuevo en todo este frenesí del framework del lado del cliente de MV*. No tiene que ser AngularJS, pero lo elegí porque me parece más natural que Knockout, Ember o Backbone. De todos modos, ¿cómo es el flujo de trabajo? ¿La gente comienza con el desarrollo de una aplicación del lado del cliente en AngularJS y luego conecta configurar el back-end?

¿O al revés construyendo primero el back-end en Django, Flask, Rails y luego adjuntando una aplicación AngularJS? ¿Existe una forma "correcta" de hacerlo, o es solo una preferencia personal al final?

Tampoco estoy seguro de si estructurar mi proyecto de acuerdo con las prácticas de la comunidad Flask o AngularJS?.

Por ejemplo , la aplicación de minitwit de Flask está estructurada de la siguiente manera:

minitwit |-- minitwit.py |-- static |-- css, js, imágenes, etc... `-- templates | -- archivos html y diseño base 

La aplicación tutorial de AngularJS está estructurada de la siguiente manera:

angular-phonecat |-- app `-- css `-- img `-- js `-- lib `-- parciales `-- index.html |-- scripts `-- servidor node.js y servidor de prueba f iles 

Podría imaginarme una aplicación Flask por sí misma, y es bastante fácil ver una aplicación AngularJS como ToDo List por sí misma, pero cuando se trata de usar ambas tecnologías, no entender cómo trabajan juntos. Casi parece que no necesito un marco web del lado del servidor cuando ya tiene AngularJS, un simple servidor web de Python será suficiente. En la aplicación de tareas pendientes de AngularJS, por ejemplo, usan MongoLab para hablar con la base de datos usando Restful API No había necesidad de tener un marco web en el back-end.

Tal vez estoy terriblemente confundido, y AngularJS no es más que una elegante biblioteca jQuery, así que debería usar como usaría jQuery en mis proyectos Flask (suponiendo que cambie la sintaxis de la plantilla AngularJS a algo que no entre en conflicto con Jinja2). Espero que mis preguntas tengan algún sentido. Principalmente trabajo en el back-end y este marco del lado del cliente es un territorio desconocido para mí.