Fluxo de trabalho típico do AngularJS e estrutura do projeto (com Python Flask)

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

Sou muito novo nesse frenesi de frameworks do lado do cliente do MV*. Não precisa ser AngularJS, mas eu o escolhi porque me parece mais natural do que Knockout, Ember ou Backbone. De qualquer forma, como é o fluxo de trabalho? As pessoas começam desenvolvendo um aplicativo do lado do cliente em AngularJS e depois conectando o back-end para ele?

Ou o contrário, primeiro construindo o back-end em Django, Flask, Rails e depois anexando um aplicativo AngularJS a ele? Existe uma maneira "certa" de fazer isso, ou é apenas uma preferência pessoal no final?

Também não tenho certeza se devo estruturar meu projeto de acordo com as práticas da comunidade Flask ou AngularJS?

Por exemplo , o aplicativo minitwit do Flask é estruturado da seguinte forma:

minitwit |-- minitwit.py |-- static |-- css, js, images, etc... `-- templates | -- arquivos html e layout base 

Aplicativo tutorial AngularJS é estruturado assim:

angular-phonecat |-- app `-- css `-- img `-- js `-- lib `-- parciais `-- index.html |-- scripts `-- servidor node.js e servidor de teste f iles 

Eu poderia imaginar um aplicativo Flask por si só, e é bastante fácil ver o aplicativo AngularJS como o ToDo List por si só, mas quando se trata de usar essas duas tecnologias, eu não entender como eles trabalham juntos. Quase parece que eu não preciso de um framework web do lado do servidor quando você já tem AngularJS, um simples servidor web Python será suficiente. No aplicativo de tarefas AngularJS, por exemplo, eles usam MongoLab para conversar com o banco de dados usando a API Restful Não havia necessidade de ter um framework web no back-end.

Talvez eu esteja muito confuso, e AngularJS não é nada mais do que uma biblioteca jQuery sofisticada, então eu deveria usar exatamente como usaria jQuery em meus projetos Flask (supondo que eu altere a sintaxe do modelo AngularJS para algo que não entre em conflito com o Jinja2). Espero que minhas perguntas façam algum sentido. Eu trabalho principalmente no back-end e essa estrutura do lado do cliente é um território desconhecido para mim.