私はDjangoとAngularの両方にかなり慣れていません。これは主観的なものであり、多くの方法がある可能性が高いことは認識していますが、そのようなアプリケーションをレイアウトするために人々が推奨できるベスト プラクティスを知りたいと思っています。バックエンドがほとんどまたは完全に RESTful API サーバーであるリッチな SPA の場合を具体的に考えていますが、Django からの重要なビューを提供するすべてのアプリに共通のアプローチが必要です。(後者が Angular を使用することを保証するのか、それともその価値よりも問題になる可能性があるのか を判断するのに十分なことはしていません)。
具体的には:
バックエンドとは別のディレクトリ/リポジトリにフロントエンドコードを維持することと、たとえばDjangoアプリの「静的」サブディレクトリ内に維持することの長所と短所は何ですか? 私の場合、今のところ私は唯一の開発者であり、この決定に多少の影響がありますが、ワークフローが一度にこれらの役割の 1 つに私を置きます。
私のセットアップは基本的に開発マシンであり、GitHub の SCM であり、WebFaction (共有 Web ホスティング) でパブリックにホストされています。最終的には、さまざまな開発マシンでプロジェクトを簡単に取得したいと考えていますが、主なワークフローは 1 つの開発者と 1 つの製品のインストールだけです。そうは言っても、将来の仕事が Django で働くことを願っているので、現実世界のプロジェクトでのベスト プラクティスに興味があります。
追加: 私がよくわからないもう 1 つの点は、Angular アプリを Django でブートストラップする必要があるかどうかです。つまり、フロント ページを Django で提供し、データを挿入する必要がありますか?
長所:
- 代替構成やフロントエンドでハードコーディングすることなく、URL パスや、開発から運用に変更される API エンドポイントを構成できます。
- これはおそらく認証に必要ですか?まだこれを行っていない私には不明です...
- Django デバッグ ツールバー アプリなどのツールの使用を許可します。
短所:
- フロントエンドをバックエンドに結合します。後者を交換したい場合はどうすればよいですか? モック データを使用してサンドボックスでフロントエンドを動作させたい場合はどうすればよいですか?
- すべてのAngular のものを Django アプリのレイアウトに移動することを強く支持しているようです。同時に、Angular パーシャルと Django テンプレートを別の場所に混在させるのは好きではありません。NG と DJ のテンプレートを混在させないことを既に決めています。