ウェブアプリ
Web アプリと Web API の違いは、UI 部分が含まれていることです。いわゆる UI は HTML ページです。
Web アプリは、HTML をレンダリングするいくつかの方法をサポートしています。
- サーバーサイドレンダリング
- クライアントレンダリング
- ハイブリッドレンダリング
サーバーサイドレンダリング
サーバー側レンダリング UI は、ブラウザーがリクエストすると、サーバーが HTML を生成し、それをブラウザーに返します。
利点は次のとおりです。
- クライアントのストレスを軽減
- サーバーはさまざまなブラウザに適応する HTML を生成します
- クライアントから JS コードを取得することはほとんどありません
- サーバーのデータとセキュリティを保護できる
- データベースアクセス、APIインターフェイスなどを含むサーバーリソースを保護できます。
- 検索エンジンに最適化できる
弱点は次のとおりです。
- CPUやメモリなど、サーバーに大きな負荷がかかる
- ユーザーインタラクションは、サークル内のサーバーから UI を生成する必要があります
一般的に次の目的で使用されます。
- データ読み取り専用 Web サイト
- 静的ページ
- マネジメントシステム
ASP.NET Core 8 でサポートされるサーバー側レンダリング テクノロジ:
- ASP.NET Core Razor ページ
- ASP.NETコアMVC
ASP.NET Core Razor ページ
Razor Pages は、ページベースまたはフォームベースの Web サイトに使用できるページベースのモデルです。
Razor ページの利点:
- ページのコードはすべてページにあります。xaml と xaml.cs と同様に、ここでは cshtml と cshtml.cs を示します。
- View のロジックは View と一緒になっており、ロジックは明確です。
- グループビューが便利です。
ASP.NETコアMVC
ASP.NET Core MVC は、モデル、ビュー、コントローラーに分かれた MVC アーキテクチャ パターンを使用します。
クライアントのリクエストはコントローラーに送信され、コントローラーはリクエストを処理して、モデルに従ってビューを返します。
MVC の利点:
- 大規模なWebサイトの開発が簡単
- 明確な構造と職務の分離
- 疎結合
クライアントレンダリング
クライアントサイドレンダリング UI は、クライアント側で UI を動的にレンダリングし、ブラウザ DOM を直接更新します。
利点は次のとおりです。
- サーバーを経由することなくリアルタイムでやりとりが可能です。
- DOM は、サーバーにリクエストを送信せずに段階的に更新できます。
- オフライン操作をサポートします。
- サーバー側の負担とコストを軽減します。
弱点は次のとおりです。
- 初めてロードするときは、ローカルで実行するコードをダウンロードする必要があります。
ASP.NET Core 8 でサポートされるクライアント側レンダリング テクノロジ:
- Blazor WebAssembly
- Angular を使用した ASP.NET Core シングル ページ アプリケーション (SPA) | 反応する | ヴュー
Angular を使用した SPA | 反応する | ヴュー
フロントエンドとリアエンドが分離されています。
利点は次のとおりです。
- ブラウザは JS の実行環境を提供します。
- 優れたコミュニティとエコシステム
弱点は次のとおりです。
- さらに多くの言語とフレームワークを学ぶには