そのため、バックエンドでWebサービスを使用してJSONペイロードを送信する単一のアプリケーションに取り組んでいます。このペイロードは、独自のJavascriptMVCフレームワークを介してクライアントにレンダリングされます。
特定のアプリケーションでは、複数ページのフォームウィザードがあります。すべてのページはカスタマイズ可能であるため、すべてのレイアウト情報とデータを送信してデータを入力する必要があります。テンプレートはhtmlに保存され、クライアント側でDOMから削除され、再利用のためにキャッシュされます。
ここで私が一般的に見ているものと異なるのは、フォーム全体のすべてのデータが1回のAjax呼び出しで読み込まれ、アプリが応答する前にすべてがレンダリングされることです。これには(セットアップのサイズに応じて)5、10、20秒かかる場合があります。
フォームが読み込まれると、すべてが非常に速く、見事に機能します。あなたは一度待たずにすべてを乗り越えることができます。その後、最後に到達して送信すると、ajax呼び出しが戻って確認が表示されるまでに10〜20秒かかる場合があります。これは、サーバーに何も送信しないため、最後にすべてを保存します。
要約すると:
巨大なJSONペイロードを取得する(待機)>すべてをレンダリングする(待機)>ユーザーがフォームに入力する(すべてのクライアント側)>ユーザーがフォーム全体を送信する(待機)>確認ページ
ステップ2で費やされる時間の大部分は、すべてをレンダリングします。
これをスピードアップするための私のアイデアはいくつかありました:
1)ajax呼び出しを分割します。フォーム全体を取得する代わりに、各ページに対してajax呼び出しを行い、それらをすべて送信して、そのコールバックメソッドでそのページのレンダリングを開始します。
2)現在、すべてがクライアント側でレンダリングされています。データを待機している間に、サーバー上のページの一部を(別のスレッドで)事前にレンダリングする方法を考えています。
参考までに、ASP.NET環境、バックエンドのASMX Webサービス、クライアント側の社内フレームワークを使用しています。jQueryを利用できます。