2009-10-11 93 views
1

我正在研究一個基於Web的應用程序,這個應用程序至少要有6年的使用期限。一旦交付應用程序,很可能在該時間段內不會修改應用程序。MS MVC框架和jQuery適用於長期應用程序嗎?

我們正在考慮使用asp.net MVC框架和jQuery,但我想知道這是不錯的選擇。客戶可能不想花費額外的時間和金錢,因爲JavaScript,瀏覽器標準等已經發生了變化。

什麼是最好的選擇,以儘量減少應用程序在未來6年內需要維護的機會?

+0

等了六年,如果ASP.NET MVC和jQuery仍然在身邊 - 它們就是長期的! – 2009-10-11 20:52:56

回答

1

客戶可能不想花費額外的時間和金錢,因爲JavaScript,瀏覽器標準等已經改變。

是她還是她不是?你能說服她,她周圍的世界在不斷移動,她會需要來更新她的應用程序以與未來的主要平臺一起工作嗎?

我認爲這是一個Intranet應用程序,而不是一個公共(面向互聯網)的應用程序。因爲如果是內聯網,我認爲6年是不現實的,但失敗模式可能相當溫和。但互聯網,6年,應用程序本身沒有安全更新 - 沒有辦法,我不會參與,以避免損害我的專業聲譽。

我會努力銷售保持器(軟件維護費),以保持應用程序當前。由此,一份很好的法律文件清楚地概述了客戶收取的費用(即兼容性和安全性修復,沒有新功能)。如果您進行託管,軟件維護通常也不難銷售。

爲了討論的方便,假設應用程序將被「凍結」了6年:

絕對不會在任何使用JavaScript是應該持續4+瀏覽器幾代人。我認爲jQuery很棒,但是......沒辦法,Javascript引擎變化太快了。對於輸出,我會堅持只有

  • HTML 4.01嚴格& CSS 2(我在想XHTML 1.0 Strict標準,這基本上是HTML 4.01嚴格的改變與XML規則,以符合,但HTML 4.01。擁有最大的安裝基數,而且我不是XML的粉絲,這是一個判斷呼籲。)
  • PNG & GIF。

關於保持東西靜止,這個簡單的輸出可能是單個最大的勝利。

對於服務器環境,我會嘗試以指定的Windows 2008 R2; .NET 4.0和ASP.NET MVC 2以及「接近凍結」的服務器配置(即僅安全更新)。 Windows 2008 R2應該從現在開始支持大約10 years。上一代(Win 2008,.NET 3.5SP1和MVC 1.0)也可以工作;但ASP.NET MVC 2看起來不錯,所以我寧願將它用於我個人的funfactor。

具有良好的「在那裏」記錄的大型開源項目也可以 - nHibernate,nUnit,StructureMap等等。

哦,並且很好的使用ASP.NET。微軟仍然善於保持向後兼容性和反向安全修復。 ASP.NET和Java是我考慮的兩個唯一的環境。

4

您可能不用擔心這一點。從幾家大型企業與JQuery的合作中獲得如此巨大的投資,我懷疑您會遇到這類問題。網絡可能總是註定要保持向後兼容(這意味着10年前出現的東西),所以我懷疑你的基於JQuery的應用程序應該沒問題。如果你在IE7/8,最新的Firefox和Safari上運行良好,你應該沒問題。也就是說,如果這些不足夠,那麼可能沒有其他基於Web的解決方案。

但我絕對推薦使用JQuery來隱藏您在JavaScript交互方面的許多瀏覽器特定問題。就ASP.NET MVC而言,它也是一個非常穩定的平臺,我認爲很多企業將在未來幾年繼續提供支持。

1

對於jquery,不要擔心,因爲bobbyshaftoe說。

對於ASP.NET MVC,它不會很快死亡;毫無疑問,因爲它是一項非常年輕的技術,可能會在首次發佈時經常發生變化,因此可能會出現維護問題。

以前用於rails的應用程序:使用rails 1.x編寫的應用程序需要一些更改才能運行th 2.x.

這可能是一個問題或沒有:有軌1.x中編寫的應用程序將保持與軌道1.x中, 與MVC 1編寫一個應用程序的工作將保持與MVC 1

我想工作現在說MVC 2將與MVC 1有多少不同:MVC 2 Preview 2已經出來了,但必須指出許多類,方法,接口等在MVC 1 RC1之間多次改變名稱和行爲, MVC1 RC2等

另一方面,如果您的應用程序足夠複雜,使用MVC可能仍然是正確的選擇,即使考慮更新到新版本(通常不那麼大)所需的額外工作:一個MVC應用程序更易於維護(在我看來)。

最後的考慮:請注意,6年在野外網絡世界中是一個很長的時間,所以不可能事先說出什麼會改變,哪些不會改變。

相關問題