- 12/01/2020
- 6分読み取り
-
- a
- s
- y
- g
- p
-
+1
“アトウッドの法則:任意のアプリケーションそれはjavascriptで書くことができ、最終的にはjavascriptで書くことになります。,”
-Jeff Atwood
webアプリケーションを構築するには、サーバー上でほとんどのアプリケーションロジックを実行する従来のwebアプリケーションと、webブラウザでほとんどのユーザーインターフェイスロジックを実行するシングルページアプリケーション(Spa)があり、主にweb Apiを使用してwebサーバーと通信します。 ハイブリッドアプローチが可能ですが、最も簡単なるホストが一つ以上の豊富なパsubapplications化など、伝統的なサポートも組み込まれています。,
アプリケーションのクライアント側の要件が単純であるか、または読み取り専用である場合は、従来のwebアプリケーションを使用します。
-
アプリケーション
-
アプリケーションは、JavaScriptをサポートしていないブラウザで機能する必要があります。
-
あなたのチームはJavaScriptやTypeScriptの開発手法に慣れていません。
アプリケーションが多くの機能を備えた豊富なユーザーインターフェイスを公開する必要がある場合は、SPAを使用します。
アプリケーション
あなたのチームはJavaScript、TypeScript、またはBlazor WebAssemblyの開発に精通しています。,
アプリケーションは、他の(内部またはパブリック)クライアント用のAPIを既に公開している必要があります。
さらに、SPAフレームワークには、より高いアーキテクチャとセキュリティの専門知識が必要です。 その経験により解約により頻繁に更新しい枠組みは従来のweb技術に対応しています。 SPAアプリケーショ
SPAアプローチによって可能になったユーザーエクスペリエンスの改善は、これらの考慮事項に照らして,
Blazor
ASP.NET コアを含むモデル構築の豊富なく、composableユーザーインターフェースと呼ばれBlazor. Blazorサーバー側では、開発者はサーバー上にC#とRazorを使用してUIを構築し、UIを永続的なSignalR接続を使用してリアルタイムでブラウザに対話的に接続できます。 Blazor WebAssemblyはBlazorアプリのための別のオプションを導入し、WebAssemblyを使用してブラウザで実行できるようにします。 Webassembly上で実行されている実際の.NETなので、アプリケーションのサーバー側の部分からコードとライブラリを再利用できます。,
Blazorは、純粋にサーバーレンダリングされたwebアプリケーションまたはSPAを構築するかどうかを評価するときに考慮すべき新しい第三のオプション Blazorを使用すると、大幅なJavaScript開発を必要とせずに、SPAのような豊富なクライアント側の動作を構築できます。 Blazorアプリケーショ JavaScriptライブラリやフレームワークを利用するために必要な場合には、JavaScriptと相互運用できます。,
Blazorでwebアプリケーションを構築するには、次の場合があります。
-
アプリケーションが豊富なユーザーインターフェイスを公開する必要があります
-
チームはJavaScriptやTypeScript開発よりも.NET開発に慣れています
.net Coreまたは最新の.NETへの移行を検討している既存のwebフォームアプリケーションをお持ちの場合は、無料の電子書籍”Blazor for Web Forms Developers”を確認してください。blazorへの移行を検討してください。
Blazorの詳細については、”Blazorの使用を開始する”を参照してください。,
従来のwebアプリケーションを選択する場合
次のセクションでは、以前に述べた従来のwebアプリケーションを選択する理由について、より詳
アプリケーションには、読み取り専用の単純なクライアント側の要件があります。
多くのwebアプリケーションは、主に大多数のユーザーによって読み取り専用 読み取り専用アプリケーション(または読み取り主)は、大量の状態を維持および操作するアプリケーションよりもはるかに簡単になる傾向があ, たとえば、検索エンジンは、テキストボックスを持つ単一のエントリポイントと、検索結果を表示するための第二のページで構成されます。 匿名のユーザーが簡単に作れる要求は、あなたの必要性がクライアント側の論理です。 同様に、ブログコンテンツ管理システムの向きの適用通常のコンテンツの少ないクライアント側の行動です。 どう役立てられているかについて簡単に構築して伝統的なサーバベースのwebアプリケーションエンジンの実行ロジックのwebサーバーを描画するHTMLに表示されるブラウザです。, サイトの各ユニークなページには、検索エンジンによってブックマークされ、インデックス付けされる独自のURLがあるという事実(デフォルトでは、この機能
JavaScriptをサポートしていないブラウザーでアプリケーションが機能する必要があります
JavaScriptをサポートしていないブラウザーで機能する必要があるWebアプリケーション, Spaは機能するためにクライアント側のJavaScriptを必要とします。
あなたのチームはJavaScriptやTypeScriptの開発テクニックに慣れていない
あなたのチームはJavaScriptやTypeScriptに慣れていないが、サーバーサイドのwebアプリケーション開発に慣れている場合、彼らはおそらくSPAよりも迅速に従来のwebアプリケーションを提供することができるでしょう。, Spaのプログラミングを学ぶことが目標であるか、SPAによってもたらされるユーザーエクスペリエンスが必要でない限り、従来のwebアプリケーションは、すでに
Spaを選択するタイミング
次のセクションでは、Webアプリケーションの単一ページアプリケーションスタイルの開発を選択するタイミングについて、より詳しく説明します。,
アプリケーションは、多くの機能を備えたリッチなユーザーインターフェイスを公開する必要があります
Spaは、ユーザーがアクションを実行したり、アプリの領 温泉地での負荷をより早く、取得データを背景に、個人ユーザの操作対応の全ページの固できているものは極めて少ない。 温泉地で支援できる差分更新-省の一部を修了された書類のないユーザーを有するボタンをクリックしの提出をお願いいたします, 温泉で豊かなクライアント側の行動などをドラッグ-ドラッグ&ドロップにより、より容易により伝統的な願います。 Spaは、切断モードで実行するように設計でき、接続が再確立されると最終的にサーバーに同期されるクライアント側モデルの更新を行うことができます。 選べるスパ-スタイル用の場合アプリケーションの要件などの豊富な機能を超え典型的なHTMLフォームです。,
多くの場合、Spaは、現在の操作を反映した意味のあるURLをアドレスバーに表示したり、ユーザーがこのURLにブックマークしたり、ディープリンクして戻ったりできるようにしたりするなど、従来のwebアプリに組み込まれた機能を実装する必要があります。 Spaでは、ユーザーがブラウザの戻るボタンと進むボタンを使用して、驚かない結果を得ることもできます。
あなたのチームはJavaScriptおよび/またはTypeScriptの開発に精通しています
Spaを書くには、JavaScriptおよび/またはTypeScriptおよびクライアント側のプログラミング技術とライブラリに精通している必要があります。, チームは優秀な書面に現代JavaScriptを使用しのスパの枠組みのような角度.
アプリケーションは、他の(内部またはパブリック)クライアント用のAPIをすでに公開している必要があります
他のクライアントが使用するweb APIをすでにサポートしている場合は、サーバーサイド形式でロジックを再現するのではなく、これらのApiを利用するSPA実装を作成する手間が少なくなります。 パネルのweb Apiクエリ、更新データとしてユーザーとの交流を願います。,
Blazorを選択するタイミング
次のセクションでは、webアプリでBlazorを選択するタイミングについてより詳細に説明します。
アプリケーションはリッチなユーザーインターフェイスを公開する必要があります
JavaScriptベースのSpaと同様に、Blazorアプリケーションはページリロードなしでリッチ これらのアプリケーショ 適切に設計されたサーバー側Blazorアプリは、この機能がサポートされると最小限の変更でクライアント側Blazorアプリとして実行するように構成できます。,
あなたのチームは、JavaScriptやTypeScriptの開発よりも.NET開発に慣れています
多くの開発者は、JavaScriptやTypeScriptのようなクライアント側の言語よりも.NETとRazorでより生産的 アプリケーションのサーバー側は既に.NETで開発されているため、Blazorを使用すると、チームのすべての.NET開発者がアプリケーションのフロントエンドの動作を理解,
意思決定表
次の意思決定表は、従来のwebアプリケーション、SPA、またはBlazorアプリを選択する際に考慮すべき基本的な要素のいくつかをまとめたものです。,