これは、最近のWebアプリケーションの分割方法に関する人々の考えについての議論でした。
私は、すべてのビューとコントローラーを備えたMVCアプリケーションの作成に慣れています。通常、完全なビューを作成し、すぐにデータを入力したくない特定の領域がなければ、DOMページ読み込みイベントを使用してサーバーを呼び出して他の領域を読み込む場合を除き、フルページリクエストでこれをブラウザに返します。 AJAXを使用します。
また、ページの部分的な更新については、MVCアクションメソッドを呼び出して、HTMLフラグメントを返します。このメソッドを使用して、ページの一部にデータを入力できます。これは、最初のページの読み込みを遅くしたくないエリアや、AJAX呼び出しに適したエリアに適しています。1つの例は、テーブルページングです。次のページに進みたい場合は、ページ全体の更新を使用するのではなく、AJAX呼び出しがその情報を取得した方がよいでしょう。ただし、AJAX呼び出しはHTMLフラグメントを返します。
私の質問は。私は純粋なフロントエンドの背景ではなく、.netの背景から来ているので、この古風なものに対する私の考えはありますか?
私が一緒に仕事をしているインテリジェントなフロントエンド開発者は、MVCビューで多かれ少なかれ何もしないことを好み、むしろフロントエンドですべてを行います。すぐにWeb API呼び出しがページに入力されます。そのため、HTMLを返すMVCアクションメソッドを呼び出すのではなく、標準オブジェクトを返し、javascriptを使用してページのすべての要素を作成することを好みます。
フロントエンドの開発者の方法は、クライアント側の検証を含む、MVCモデルの検証で通常得られるメリットがなくなることを意味します。また、強く型付けされたhtmlテンプレートなどを使用してビューを作成することで得られる利点がすべてなくなることも意味します。
これは、フロントエンドとバックエンドの検証で同じ検証を記述する必要があることを意味すると考えています。JavaScriptには、DOMのすべての異なる部分を作成するための多くのメソッドも必要です。たとえば、テーブルに新しい行を追加する場合、通常、MVC部分ビューを使用して行を作成し、これをAJAX呼び出しの一部として返します。これはテーブルに挿入されます。純粋なフロントエンドの方法を使用すると、javascriptはAPI呼び出しから行のオブジェクト(たとえば製品)を取得し、そのオブジェクトから行を作成します。テーブル行の個々の部分を作成します。
問題のWebサイトには、管理、フォーム、製品検索など、さまざまな分野があります。私が考えていないWebサイトは、単一ページのアプリケーション方法で設計する必要はありません。
これについての皆の考えは何ですか?
フロントエンドの開発者とバックエンドの開発者の意見を聞きたいです。