3

私はかなり単純な UI を備えた Rails アプリを開発してきました。ユーザーがログインすると、ユーザーが作成した一連のアイテムが一覧表示されます。各アイテムにはいくつかのアクションがあります。新しいアイテムを作成するためのフォームもあります。

私はもともと、標準の Rails テンプレート システムとアクションの Rails AJAX 呼び出し (:remote => true の設定、応答 JS の作成など) のみを使用していましたが、最近、AJAX アクションを実装しやすくするために AngularJS に切り替えることにしました。 DOM を直接更新します。サーバー側では、ほとんどの Rails コントローラーを廃止し、アクションを Grape API に移動しました。

記述する JavaScript が減ったため、開発プロセスは (わずかに) 簡単になりましたが、ページのパフォーマンスは低下しました。ページが読み込まれた後、ページにデータを入力するために、追加の API 呼び出しを行う必要があります。データはかなり長い JSON 文字列としてクライアントに送信され (gzip で圧縮していますが)、クライアントはそれを解析してすべてをレンダリングするために多くの作業を行う必要があります。その結果、ページの読み込みに以前の約 2 倍の時間がかかります。

これをどのように克服できますか?また、一般的に、大量のデータを持ち、必ずしも単一ページのアプリではない Web アプリで Angular のようなものを使用する意味があるのはいつですか? クライアント側のスパゲッティ コードと引き換えに、サーバーにより多くの作業を行わせてパフォーマンスを向上させるか、より美しく構造化されたコードと引き換えに、クライアントにより多くの作業を行わせてパフォーマンスを低下させるかのトレードオフのようです。クライアント側で。

両者の間に幸せな媒体はありますか?あなたの考えを聞きたいです....

4

0 に答える 0