2012-06-07 94 views
1

我是公司(一家新成立的公司)的唯一開發者(在web開發方面經驗豐富)。我收到了一個項目,從頭開始開發ERP系統。當然,我選擇的平臺是ASP.NET。我開始了這個項目,完全用MVC編寫,但隨着我進一步發展,我發現它越來越難以管理。.NET項目平臺

儘管架構良好,Repository,DI,MVC-VM等系統本身很難維護。 HTTP的無狀態性質要求我編寫大量的javascript/jQuery來堵塞漏洞,例如維護狀態,這消耗了我大量的時間。另外,由於它是一個相當大的應用程序,設計有時可能會受到限制,我最終使用javascript來解決問題。考慮在表單中添加表單。這是我一直面臨的問題。

然後,我在瀏覽和瀏覽時遇到了Silverlight LOB應用程序,給我留下了深刻的印象。對用戶界面和流動性印象非常深刻。所以現在,我需要一個建議。我應該採用Silverlight嗎?或者我應該留在MVC? Silverlight可以顯着縮短開發時間嗎?什麼是學習曲線?

編輯:我忘了提及這個應用程序只限於內部員工。與外界交互的唯一組件是目錄和CMS組件。

回答

1

一年前,我們面臨類似的決定:我們必須將我們的桌面LOB(類似於ERP的複雜性)移植到網上。我們查看了我們的可能選項:Silverlight,Flash(Air)和HTML 5(javascript)。

因爲我們都有一個.net背景,在web開發方面很少有經驗,所以我們選擇了Silverlight。 9個月後,我們切換到HTML 5 :)。 發生了什麼事:

  • 都SL和HTML 5能夠着手完成
  • ,如果你有一個.NET的作業(贏得形式,WPF)的背景SL學習曲線更小。
  • 從桌面到網絡的學習曲線很高 - 所以無論你選擇什麼,你都會頭痛
  • SL也是無狀態的(或者更好 - 我們使用的啓用SL的WCF服務是無會話的),所以我們不得不自己編寫整個狀態管理邏輯(實際上並不那麼難)
  • 在Silverlight中管理大型項目的複雜性相當困難 - 我們使用Prism,MEF和其他一些庫來更好地組織代碼並獲得工作但項目只是很大 - 夫婦,與一些「不那麼幸運」的決定(缺乏網絡開發技能的後果)導致項目內導航問題
  • (好)SL開發人員是h我們找了6個月,找不到任何人來幫助我們完成建築/設計。在這方面,找到(好的)ASP.net開發人員更容易 - 在考慮增加團隊或維護連接到前一點時維護團隊或維護時要考慮這一點 - 我們爲什麼從SL切換到HTML 5的主要原因是管理壓力--HTML 5是今天的流行詞,而SL被視爲「相當死亡」的技術(我不想討論這個聲明 - 它只是描述了管理層如何看待事情)。當你告訴他們你想用SL開發時,他們會問你「爲什麼要去SL,其他人都去HTML 5」? - 很難找到很好的理由...
  • 我也在SL中看到很好的LoB應用程序 - 我們投入的9個月也導致了一個相當不錯的應用程序 - 但通過切換到MVC 4,我們可以獲得更多項目中的人,我不得不承認,MVC應用程序看起來和SL一樣好。當然需要一段時間才能熟悉javascript(及其所有的庫),但我作爲一名前winforms/wpf/SL開發人員來欣賞它的美麗。
  • 記:有一些JS庫(淘汰賽,甚至別人),你獲得真棒「綁定」功能,您在SL有(我認爲XAML和ExpressionBlend是在SL上最好的東西)

總結:

  • 如果你已經開始使用ASP.net MVC,我的建議就是堅持下去 - 維護/讓人們相信你是在正確的技術船上會更容易。您可以量化現在切換到SL的成本(2-3個月,以適應SL和各種SL庫 - PRISM,MVVM光源等+幾個月的開發,以達到您現在的相同位置)和這筆錢,你可以得到另一雙手來幫助你與你的MVC應用程序。
  • 如果你想滑溜感/響應得到一些JS庫 - Kendo(從Telerik的)是非常好的 - 看起來不錯,出招快

    希望這可以幫助你 - 如果您有任何其他問題 - 發表評論。

+0

很好的答覆,非常感謝。但是,有時在處理MVC時,我會遇到像主窗體中的可編輯網格(呈現窗體)這樣的問題,最終不得不使用像Ajax這樣的解決方法來處理問題。最重要的是,在JS中編寫代碼非常耗時,這是觸發我爲其他替代方法尋找來源的原因。當然,我相信SL也有其公平的問題,這就是爲什麼我需要聽到那些經歷過兩種平臺的人的更多意見。 –