Tipico flusso di lavoro AngularJS e struttura del progetto (con Python Flask)

| | | |

Sono abbastanza nuovo di tutta questa frenesia del framework lato client MV*. Non deve essere per forza AngularJS, ma l'ho scelto perché mi sembra più naturale di Knockout, Ember o Backbone. Ad ogni modo, com'è il flusso di lavoro? Le persone iniziano con lo sviluppo di un'applicazione lato client in AngularJS e poi si agganciano fino al back-end?

O viceversa, costruendo prima il back-end in Django, Flask, Rails e quindi collegandovi un'app AngularJS? C'è un modo "giusto" per farlo, o alla fine è solo una preferenza personale?

Non sono nemmeno sicuro se strutturare il mio progetto secondo le pratiche della comunità Flask o AngularJS?.

Ad esempio , l'app minitwit di Flask è strutturata in questo modo:

minitwit |-- minitwit.py |-- statico |-- css, js, immagini, ecc... `-- modelli | -- File html e layout di base 

L'app tutorial AngularJS è strutturata in questo modo:

angular-phonecat |-- app `-- css `-- img `-- js `-- lib `-- partial `-- index.html |-- script `-- server node.js e server di test f iles 

Potrei immaginare un'app Flask da sola, ed è abbastanza facile vedere l'app AngularJS come ToDo List da sola, ma quando si tratta di utilizzare entrambe queste tecnologie non lo faccio capire come lavorano insieme. Sembra quasi che io non abbia bisogno di un framework web lato server quando hai già AngularJS, un semplice server web Python sarà sufficiente. Nell'app da fare AngularJS, ad esempio, usano MongoLab per parlare con il database usando l'API Restful Non c'era bisogno di avere un framework web sul back-end.

Forse sono solo terribilmente confuso e AngularJS non è altro che una elaborata libreria jQuery, quindi dovrei usare proprio come userei jQuery in i miei progetti Flask (supponendo che cambio la sintassi del modello AngularJS in qualcosa che non sia in conflitto con Jinja2). Spero che le mie domande abbiano un senso. Lavoro principalmente sul back-end e questo framework lato client è un territorio sconosciuto per me.