2017-09-15 153 views
14

我和我的團隊已經收到資金開始開發企業級Web應用程序(不會詳細介紹它的功能)。該應用程序將有許多單獨的網頁,但其中兩個頁面更加專注和非常沉重,因爲在很多用戶交互中,顯示海量數據,websocket連接,聊天等的模式。ASP.NET Core 2.0 Razor vs Angular/React/etc

我已被分配到該項目的首席架構師,所以我正在研究最新的Web框架。對於後端,我們已經完成了一些測試,並決定使用Azure SQL平臺。到目前爲止,我喜歡使用Core 2.0爲ASP.NET做出的改進。特別是Razor引擎,相對於以前版本的ASP.NET MVC。

我想獲得關於「新」Razor與Angular/React等方面的專家意見。我特別更關心性能。 Core 2.0 Razor如何支持客戶端渲染框架?差異可以忽略不計?我們的應用程序針對潛在的1,000,000用戶(大約100,000個併發)。

提前致謝!

+0

「碰」在SO上工作嗎? – user2777664

+0

「*新剃刀*」是指Razor頁面? – Werner

+6

那麼你最終選擇了哪一個,以及它將如何發展? – stt106

回答

0

我的兩個便士 - 從我使用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

我明白這兩個框架的不同之處,我更關心性能。 – user2777664

+0

這兩個存在相同的管道,但我不知道剃鬚刀頁面有任何基準。這個鏈接可能會有所幫助 - [ASP.NET Razor Pages vs MVC:Razor Pages如何適合您的工具箱?](https://stackify.com/asp-net-razor-pages-vs-mvc/) –

2

我沒有基準。但是,我有幾個運行JQuery,Razor,.NET MVC(C#),AJAX的項目。不是你的解決規模。

建議..務必思考並遵循最佳實踐。爲了保持可維護性,一定要將控制器,視圖,模型分解爲更小和有意義的組。當我開始的時候,我犯了一個錯誤,就是把所有東西放在一個主控制器中,並且在共享文件夾中看到很多視圖。起初很好,但是當功能開始出現時,它變得一團糟,難以回頭重新設計。

我也使用Linq2SQL,我犯了一切創建模型的錯誤,然後意識到我可以從我的查詢中返回結果集作爲模型。咄。

如果你去.NET MVC和關心的性能,這些都是我跑進..

的事DONT返回HTML創建大塊的部分景色!一定要儘量減少一切。擺脫所有的空白空間。使用較小的ID名稱。花時間創建儘可能輕的html。返回JSON並讓客戶端完成一些工作。

小心你如何開發你的CSS。不要使用一堆內聯樣式,花時間將其合併到CSS文件中,以後可以將其最小化。

同樣適用於您的客戶端JS。它很容易將JS放入部分視圖中。保持組織。在IE上渲染是非常可怕的。特別是如果有很多圖像。確保儘可能壓縮圖像,而不會丟失質量。

相關問題