[解決済み] ASP.NET Core 2.0 Razor と Angular/React/etc の比較
質問
私のチームと私は、エンタープライズ レベルの Web アプリケーション (何を行うかの詳細には触れません) の開発を開始するための資金を受け取りました。 アプリケーションは多くの別々の Web ページを持ちますが、それらのページのうちの 2 つはより集中的で非常に重いものです - 多くのユーザーとの対話、大量のデータを表示するモーダル、Web ソケット接続、チャットなどにおいて重いものです。
私はこのプロジェクトのチーフアーキテクトに任命されたので、最新の Web フレームワークについて調査しています。 バックエンドについては、いくつかテストを行い、Azure SQL プラットフォームを使用することにしました。 今のところ、ASP.NET with Core 2.0に加えられた改良が気に入っています。 特に Razor エンジンは、以前のバージョンの ASP.NET MVC よりも優れています。
Razor と Angular/React などの比較について、専門家の意見を聞きたいと思いました。 私は特にパフォーマンスについてより関心があります。 Core 2.0 Razor は、クライアントサイドのレンダリングフレームワークに対して、どのような位置づけなのでしょうか? その差は無視できるものなのでしょうか? 私たちのアプリは、潜在的な 1,000,000 人のユーザー (およそ 100,000 人の同時使用) を対象としています。
事前にありがとうございます。
どのように解決するのですか?
私たちは最終的に、Angular フロントエンドと ASP.NET Core API バックエンドを採用し、Azure SQL を使用することにしました。 Core Razor をテストしましたが、レガシー Razor よりも優れているものの、最終的には Angular の方がはるかに高速でした。 ユーザーエクスペリエンスに関しては、Angular(またはReact)の方がパフォーマンス面ではるかに優れています。 Angularのモデルバインディングは、サーバーサイドレンダリングの大きな利点であることがわかりました。 しかし、Razor(あるいは一般的なサーバーサイドレンダリング)を使うと、データの整合性が向上し、フロントエンドからバックエンドへのデータの移行がよりスムーズになります。 フロントエンドのフレームワークとAPIの間には、真の意味での断絶が存在します。 サーバに渡されるデータはすべて型付きオブジェクトにキャストされなければならない。これは、2つの別々のPOCOモデル・セットを管理しなければならないことを意味する。 これは、サーバーオブジェクトとフロントエンドオブジェクトが一致しない場合に問題を引き起こす可能性があります。 現時点では、Entity Framework Coreはあまり成熟していないので、オブジェクトの更新、オブジェクトへの問い合わせ、子オブジェクトを含む、などの問題があります。
全体として、このセットアップは今のところ私たちにとって素晴らしいものです。もしあなたがより快適であるなら、React は Angular と同様の置き換えになると想像しています。私は Angular を学ばなければなりませんでしたが、これは非常に簡単な移行で、今では大好きです!
関連
-
.netcoreプロジェクトでIStartupFilterを使用するためのチュートリアル
-
30分でわかるコング経由の.NETゲートウェイ
-
Net Core HttpClient処理 レスポンス圧縮の詳細
-
ASP.NET Core MVC Dependency Injection ビューとコントローラ
-
ajaxでポップアップアラートボックス
-
[解決済み] IISのAppPoolIdentityとファイルシステムの書き込みアクセス権
-
[解決済み] Log4netがログファイルにログを書き込まない
-
[解決済み] Visual Studio 新しいブラウザを開けない
-
[解決済み] ASP.NET_SessionId + OWIN Cookieがブラウザに送信されない。
-
[解決済み] ASP.NET。HTTP エラー 500.19 - 内部サーバー エラー 0x8007000d
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
net core downlink tracking skywalking インストールと使いやすいチュートリアル
-
.NET開発サーバー アプリケーション管理ツール
-
ASP.NET Coreミドルウェアによるグローバル例外処理機構の利用について
-
CS0234 名前空間 'Microsoft.AspNet' に型または名前空間名 'Mvc' が存在しない (あなたは
-
[解決済み] Razor View Page で名前空間をインポートするにはどうしたらいいですか?
-
[解決済み] ASP.NET MVCコントローラは、Imageを返すことができますか?
-
[解決済み] Log4netがログファイルにログを書き込まない
-
[解決済み] パネルまたはPlaceHolderの使用
-
[解決済み] フレームワークのランタイムターゲットが見つからない .NETCoreApp=v1 互換ランタイムの1つと互換性がある
-
[解決済み] WatiNかSeleniumか?[クローズド]