Typischer AngularJS-Workflow und Projektstruktur (mit Python Flask)

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

Ich bin ziemlich neu in diesem ganzen MV* Client-seitigen Framework-Rausch. Es muss nicht AngularJS sein, aber ich habe es ausgewählt, weil es sich für mich natürlicher anfühlt als Knockout, Ember oder Backbone. Wie sieht der Arbeitsablauf überhaupt aus? Beginnen die Leute damit, eine clientseitige Anwendung in AngularJS zu entwickeln und dann einzuhaken das Back-End dazu?

Oder umgekehrt, indem man zuerst das Back-End in Django, Flask, Rails baut und dann eine AngularJS-App daran anhängt?Gibt es einen "richtigen" Weg? oder ist es am Ende nur eine persönliche Vorliebe?

Ich bin mir auch nicht sicher, ob ich mein Projekt nach den Gemeinschaftspraktiken von Flask oder AngularJS strukturieren soll.

Zum Beispiel , Die Minitwit-App von Flask ist wie folgt aufgebaut:

minitwit |-- minitwit.py |-- static |-- css, js, images, etc... `-- templates | -- HTML-Dateien und Grundlayout 

Die AngularJS-Tutorial-App ist wie folgt aufgebaut:

angular-phonecat |-- app `-- css `-- img `-- js `-- lib `-- partials `-- index.html |-- scripts `-- node.js server und test server f iles 

Ich könnte mir eine Flask-App allein vorstellen, und es ist ziemlich einfach, eine AngularJS-App wie ToDo List allein zu sehen, aber wenn es darum geht, diese beiden Technologien zu verwenden, tue ich das nicht verstehen, wie sie zusammenarbeiten. Es scheint fast so, als bräuchte ich kein serverseitiges Web-Framework, wenn Sie bereits AngularJS haben, ein einfacher Python-Webserver reicht aus. In der AngularJS-To-Do-App verwenden sie beispielsweise MongoLab, um mit der Datenbank über die Restful-API zu kommunizieren Es war nicht nötig, ein Web-Framework im Back-End zu haben.

Vielleicht bin ich einfach nur furchtbar verwirrt, und AngularJS ist nichts weiter als eine schicke jQuery-Bibliothek, also sollte ich es genauso verwenden, wie ich jQuery verwenden würde meine Flask-Projekte (vorausgesetzt, ich ändere die Syntax der AngularJS-Vorlage in etwas, das nicht mit Jinja2 in Konflikt steht). Ich hoffe meine Fragen machen Sinn. Ich arbeite hauptsächlich im Backend und dieses clientseitige Framework ist für mich Neuland.