web-dev-qa-db-ja.com

新しいSpring MVCプロジェクトのThymeleafとAngularの選択

新しい Spring Boot Webアプリケーションを開始しています。フロントエンドの実装方法を選択する必要があります。

Thymeleaf いくつかのプロジェクトで使用したテンプレートフレームワークは非常に快適ですが、可能な代替手段として Angular(v2) を評価しています。

私はクライアントサイド MVC フレームワークが初めてなので、Webプロジェクトに最適なオプションを決定するためのガイドラインがあるかどうかを理解したいと思います。

私はこれについて多くの投稿とチュートリアルを読みましたが、それらはすべて個人的な意見を記述しているようであるか、単に実験をコーディングしているようです...

  1. 客観的にサーバー側の実装の代わりにクライアント側のアプローチを使用することを提案するアプリケーション要件はありますか?

  2. 両方のテクノロジーを一緒に使用することは可能かつ効果的ですか?

31
davioooh

選択するのは、1つのJavaScriptライブラリを使用するか、Thymeleafを使用するかではなく、作成した人為的な制約であり、どちらも異なる動物です。 Thymeleafはテンプレート用で、JQueryは動的ページを作成するためのクライアント側ライブラリです。テンプレートライブラリを選択するかJavaScriptライブラリを選択する方が理にかなっていますが、両方をうまく組み合わせることができます。

一般に、テンプレートはJavaScriptコードに影響を与えません。一部の人々はJavascriptコードをテンプレート化しますが、これはひどい考えです。代わりに、テンプレートを使用してHTMLのタグ属性を置き換え、Javascriptを選択したライブラリでWebサイトを動的に置き換えます。

どういう意味かわかりません

サーバー側の実装ではなく、クライアント側の承認

しかし、私が最近目にするのは、Microservies VS Monolith Webアプリケーションを作成する2つの異なるアプローチです。 Thymeleafで完全にWebサイトを開発する場合、あまり再利用できません。 Netflix、Amazon、Uberなどはすべて、REST AP​​Iを介して組織全体で再利用されるサービス(マイクロサービスと呼ばれることもあります)を作成します。

ThymeleafにWebサイトのみを実装している場合、別のアプリケーション(モバイルと考えてください)がアプリケーションによって作成されたサービスにアクセスすることはできません。一方、アプリのREST AP​​Iを作成した場合、モバイルアプリ、または同様の要件を持つ別のWebアプリを作成する必要がある場合にサーバーバックエンドを再利用します。

もちろん、サービスが再利用されない場合、これはあなたにとって重要ではないかもしれませんし、最も再利用可能ではありませんが、特定の方法で物事を行うことに非常に熟練しているかもしれません、もちろん、私たちは常に次のAmazonを作成しているわけではありません。しかし、特定の方法で物事を改善するだけでも、ベストプラクティスに従うことをお勧めします。

16
Snickers3192