Typowy przepływ pracy i struktura projektu AngularJS (z Python Flask)

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

Jestem całkiem nowy w tym całym szaleństwie frameworka MV* po stronie klienta. Nie musi to być AngularJS, ale wybrałem go, ponieważ wydaje mi się bardziej naturalny niż Knockout, Ember lub Backbone. Zresztą, jak wygląda przepływ pracy? Czy ludzie zaczynają od tworzenia aplikacji po stronie klienta w AngularJS, a następnie podpinania zaplecza?

Albo na odwrót, najpierw budując zaplecze w Django, Flask, Rails, a następnie dołączając do niego aplikację AngularJS? Czy istnieje „właściwy” sposób robisz to, czy ostatecznie jest to tylko osobista preferencja?

Nie jestem też pewien, czy ustrukturyzować swój projekt zgodnie z praktykami społeczności Flask czy AngularJS?.

Na przykład , aplikacja minitwit Flask ma następującą strukturę:

minitwit |-- minitwit.py |-- static |-- css, js, obrazy itp... `-- szablony | -- pliki html i układ podstawowy 

Samouczek AngularJS ma następującą strukturę:

angular-phonecat |-- app `-- css `-- img `-- js `-- lib `-- częściowe `-- index.html |-- skrypty `-- serwer node.js i serwer testowy f iles 

Mogłem sobie wyobrazić samą aplikację Flask i dość łatwo jest zobaczyć samą aplikację AngularJS, taką jak lista rzeczy do zrobienia, ale jeśli chodzi o korzystanie z obu tych technologii, nie zrozumieć, jak ze sobą współpracują. Wygląda na to, że nie potrzebuję web-framework po stronie serwera, gdy masz już AngularJS, wystarczy prosty serwer sieciowy w Pythonie. Na przykład w aplikacji AngularJS to-do używają MongoLab do komunikowania się z bazą danych za pomocą Restful API .Nie było potrzeby posiadania frameworka internetowego na zapleczu.

Może jestem po prostu strasznie zdezorientowany, a AngularJS to nic innego jak fantazyjna biblioteka jQuery, więc powinienem używać tak, jak używałbym jQuery w moje projekty Flask (zakładając, że zmienię składnię szablonu AngularJS na coś, co nie koliduje z Jinja2). Mam nadzieję, że moje pytania mają sens. Pracuję głównie na back-endzie, a ten framework po stronie klienta jest dla mnie nieznanym terytorium.