Типичный рабочий процесс AngularJS и структура проекта (с Python Flask)

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

Я новичок во всем этом безумии клиентской среды MV*. Это не обязательно должен быть AngularJS, но я выбрал его, потому что он кажется мне более естественным, чем Knockout, Ember или Backbone. В любом случае, на что похож рабочий процесс? Люди начинают с разработки клиентского приложения на AngularJS, а затем подключают добавить к нему серверную часть?

Или наоборот, сначала создав серверную часть в Django, Flask, Rails, а затем прикрепив к ней приложение AngularJS? Есть ли "правильный" способ делать это, или это просто личное предпочтение в конце концов?

Я также не уверен, следует ли структурировать мой проект в соответствии с практиками сообщества Flask или AngularJS?.

Например, , приложение minitwit в Flask структурировано следующим образом:

minitwit |-- minitwit.py |-- static |-- css, js, images, etc... `-- templates | -- HTML-файлы и базовый макет 

Учебное приложение AngularJS имеет следующую структуру:

angular-phonecat |-- app `-- css `-- img `-- js `-- lib `-- partials `-- index.html |-- скрипты `-- сервер node.js и тестовый сервер f iles 

Я мог бы представить приложение Flask само по себе, и довольно легко увидеть приложение AngularJS, такое как ToDo List, само по себе, но когда дело доходит до использования обеих этих технологий, я не понимаю. понять, как они работают вместе. Кажется, что мне не нужна веб-инфраструктура на стороне сервера, когда у вас уже есть AngularJS, будет достаточно простого веб-сервера Python. Например, в приложении AngularJS to-do они используют MongoLab для общения с базой данных с помощью Restful API , Не было необходимости иметь веб-фреймворк на серверной части.

Возможно, я просто ужасно запутался, и AngularJS — не что иное, как причудливая библиотека jQuery, поэтому я должен использовать так же, как я использовал бы jQuery в мои проекты Flask (при условии, что я изменил синтаксис шаблона AngularJS на что-то, что не конфликтует с Jinja2). Я надеюсь, что мои вопросы имеют смысл. В основном я работаю над серверной частью, и этот клиентский фреймворк для меня неизвестен.