2011-03-08 76 views
0

我在尋找建議以下問題,我意識到真的不會是一個完美的回答我的問題:完美的Web UI框架(與微軟堆棧?) - 架構問題?

我有建於WinForms.NET一個UI(V4.0框架)與WCF後端和EF4模型對象,我正在尋找端口到網絡。用戶界面不是很龐大,不是超級複雜,結構良好。但它也不是一個超級簡單的系統。我期待挑選的網絡前端,將針對桌面&部分移動平臺技術棧,提供了一個良好的發展平臺的基礎上,促進整個UI代碼重用和後端層...

我寧願迴避:UI爲中心的腳本

  • 自定義編碼,因爲它們很難調試,未編譯,通常是一個維護的噩夢,幾乎總是開始包含業務邏輯和複製一些邏輯的那句話(特別是驗證)
  • 桌面Web和移動Web UI的自定義編碼(儘管我意識到m obile web用戶界面可能會包含數據輸入屏幕和更多的報告屏幕)
  • non-.NET技術堆棧

我喜歡更少:

  • 目標系統的報告功能向移動網頁瀏覽器發送
  • 不必編寫單行腳本(javascript,jquery等)
  • 利用一組優秀的UI控件集合
  • 使用.NET的一切

我看它現在的樣子,我需要重新寫這個程序在Silverlight中,利用像Telerik的第三方UI框架,並再次重新做報告UI移動平臺分開。不過,我很關心Silverlight的保質期,並且需要部署不同的體系結構來處理移動平臺。

是否有ASP.NET/MVC/Ajax架構/框架/庫,讓我獲得在.NET和無痛苦的(恕我直言)客戶端腳本的能力,同時提供一個體面的用戶體驗

謝謝

+2

剛剛學習JavaScript/jQuery - 我可以理解你不願意使用客戶端腳本(特別是如果你以前有過不好的經歷),但它確實不是那麼糟糕 - 寫得很好的JavaScript對於使用和維護來說是一種樂趣並且是(IMO)爲Web應用程序提供良好用戶體驗的最佳方式。 (你當然可以用任何語言編寫錯誤的代碼)。 – Justin

回答

0

SilverLight會給你編譯時的支持,不會讓你寫「腳本」。

+1

唯一的問題是使用Silverlight的站點只能在WP7上工作。 – vorrtex

3

你的問題總是會是,如果你想使一個良好的瀏覽器體驗,你將不得不學習瀏覽器技術。

您可以使用Asp.net-Ajax和一些Telerik控件的組合來做一個無javascript的網站,但是您正在陷入陷阱。 Asp.net ajax和Telerik控件就像來自希臘神話中的警笛一樣,引誘水手到達他們的厄運。聽起來真的很不錯,直到你的船(你的應用)崩潰(配置和webforms-ajax英國媒體報道)。

您對客戶端代碼的擔憂看起來很奇怪。例如,你永遠不會被迫複製邏輯客戶端。你也有這個奇怪的想法,你可以在桌面和移動網站之間共享UI邏輯。這是不可能的。

你在web或javascript/jquery中有什麼樣的體驗?說實話,這聽起來像你只是想避免學習新東西。

+0

雖然我不是javascript/jquery的專家,但我對它們的瞭解並不多,所以我不去學習新的東西。不過,我還沒有看到這個領域的成功和完成的執行。我不是指一個成功的產品,我的意思是一個做得好的開發架構/方法/維護/等週期。看起來,採取「壞」捷徑太容易了。採用可重構的快捷方式(即將業務邏輯放在一個winform的單擊按鈕後面)是一回事,但在後端邏輯中將javascript代替.NET放在架構上難以重構 – Igorek

+0

哦,而邏輯重複通常來自客戶端&服務器雙重驗證(不要相信客戶端,再次重新驗證,並且不能在後端使用這些javascript驗證,所以必須重做它們) – Igorek

+0

@Igorek - 我不知道你想說什麼在你的第一評論。 - 就複製而言,這只是玩客戶端遊戲的成本。你不能避免它,除非你從C#代碼或其他同樣瘋狂的方法生成JavaScript的路徑。 – jfar