2017-09-15 12 views
14

私のチームと私は、エンタープライズレベルのWebアプリケーションの開発を開始するための資金を受けました(詳細については説明しません)。アプリケーションには多くの別個のWebページがありますが、それらのページのうち2つは、より多くのユーザーインタラクションのように、より集中的で非常に重い - 大量データを表示するモーダル、Webソケット接続、チャットなど -ASP.NET Core 2.0 Razor vs Angular/React/etc

私は割り当てられていますプロジェクトのチーフアーキテクトに、私は最新のWebフレームワークを研究しています。バックエンドについては、いくつかのテストを行い、Azure SQLプラットフォームを使用することに決めました。これまでのところ、Core 2.0を使用してASP.NETに加えられた改良点が好きです。 Razorエンジン、以前のバージョンのASP.NET MVC。

「新しい」剃刀対角/反作用などの専門家の意見を得たいと思っていました。私は特にパフォーマンスにもっと関心があります。 Core 2.0 Razorはクライアント側のレンダリングフレームワークをどのように保持していますか?違いはごくわずかですか?私たちのアプリは、潜在的な1,000,000人のユーザーをターゲットにしています(約10万人の同時ユーザー)。

ありがとうございます!

+0

"バンプ"はSO上で動作しますか? – user2777664

+0

「* Razor *」とは、Razorのページを意味しますか? – Werner

+6

最後にどちらを選択したのですか? – stt106

答えて

0

私の2ペンスは、CoreとRazorのページの経験から、大きなプロジェクトには使用しません。コアのはい、ただし、面倒なページではないので、私の意見では、私はMVCのデザインパターンに賛成です。私はたくさんのページを想定しており、ページフォルダ内のかみそりページで見ていくのは面倒です。角度/サーバー側でAPIと反応を使用することにより

+0

私は新しいRazorのページ、つまりRazorについて話していませんでした。 – user2777664

+0

ああ、謝罪は、あなたが新しいかみそりの意味だったと思った。 – PurpleSmurph

6

  • あなたは、サーバー側でHTMLを生成するプロセスを排除し、あなたは、CPU
  • APIは小さなペイロード(JSON)とレイザー(HTML)のを生成し保存しますコースは、サイズがはるかに大きく、一定の全面リロードとポストバック往復となります。その帯域幅
  • APIやスパ保存APIとスパは、異なるバージョン管理を持っているスケーリングおよび展開シナリオ
  • APIを使用して、あなたもモバイルアプリをサポートすることができますし、カミソリで起動する場合は、将来
にAPIを必要とするかもしれない可能性があり

しかしAngular/Reactを使うことで、クライアントについて心配する必要があります。

  • クライアントはjavascriptを
  • クライアントが
  • クライアントは、私がベンチマークを持っていない十分な強力なハードウェア
  • SEO
+0

私は2つのフレームワークの違いを理解しています。私はパフォーマンスにもっと関心がありました。 – user2777664

+0

同じpiplineが両方に存在しますが、私は剃刀のページに基準がありません。このリンクが役立つかもしれません - [ASP.NET Razor PagesとMVC:ツールボックスにはどのように剃刀ページが収まるのですか?](https://stackify.com/asp-net-razor-pages-vs-mvc/) –

2

を持っている必要があり、現代のブラウザを持っている必要があります有効にする必要があります。しかし、私はJQuery、Razor、.NET MVC(C#)、AJAXを実行するいくつかのプロジェクトを持っています。あなたの取り組みをスケールアップするのではありません。

アドバイス..ベストプラクティスを考え、ベストプラクティスに従ってください。保守可能なものを保つためには、コントローラー、ビュー、モデルをより小さく、意味のあるグループに分けてください。私が始めたとき、私はすべてを1台のホームコントローラに入れて間違え、共有フォルダにはたくさんのビューがありました。最初は問題ありませんでしたが、機能の不調が始まったとき、それは混乱し、元に戻って再設計するのが難しくなりました。

私もLinq2SQLを使用していますが、私はすべてのモデルを作成して間違いを犯し、結果セットをモデルとしてクエリから返すことができたことに気付きました。デュ。

は、.NET MVCを行くと、パフォーマンスに不安がある場合、これらは私が..

DONTに走った事がHTMLの大きなブロックを作成する部分図を返します!すべてを最小限に抑えてください。すべての空白を取り除く。より小さなID名を使用してください。できるだけ軽いhtmlを作成する時間を取ってください。 JSONを返し、クライアントに作業の一部をさせます。

CSSの開発方法には注意してください。たくさんのインラインスタイルを使用しないで、後で最小化できるCSSファイルに組み込むために時間をかけてください。

あなたのクライアント側JSと同じです。 JSを部分的な見解の中に置くことが魅力的です。物事を整理しておく。

IEでのレンダリングは恐ろしいです。特に画像がたくさんある場合。コースの品質を損なうことなく、可能な限りイメージを圧縮するようにしてください。

関連する問題