.NET與J2EE之爭 選擇更適合自己的平臺
這篇文章不是告訴程序員應該選用哪條道路發展的,而是提供給需要技術平臺的公司的,你的平臺更適合用哪種架構。在網上隨便搜索一下“.NET與J2EE”就會找到一大堆文章,里面不乏一些資深程序員的論調。所以我在這里不去討論孰好孰壞,只說哪個更適合你的平臺。
如果要找合適的工具,先要看你要做什么,其次要看你打算投入多大代價去做。
第一個問題,你要做什么?很多公司其實在作平臺之前,對這個問題并不十分了解,他們只有個概念,我想要個門戶網站、OA、MIS等等,這遠遠不夠,你必須了解在可預見的未來,你的平臺會達到什么程度,例如在五年之內,你的公司在全國各地會有數十家分公司,平臺用戶數以萬計,每天各個分公司的數據源源不斷地匯集到總部,那我勸你不要猶豫,采用J2EE+Linux(Unix)+Oracle。原因我不用多說,開放、強大是他的特點。但如果你的公司在近期內只是個中小型公司,那么.NET+SqlServer+Windows是你的首選。
第二個問題,你打算為這個平臺投入多少資源?假如對你來說,錢不是問題,只要有了好的平臺,這個投入都是值得,那么J2EE+Linux(Unix)+Oracle是你的首選,但如果你財政較為緊張,無法忍受二年內投入三百萬建立的平臺還無法成為公司的核心優勢,從而為公司贏得利潤這個結果,那么我勸你還是現實點,選用.NET+SqlServer+Windows吧。我覺得這些例子不一定恰當,但是想說明一點,把這個問題引申一下,使用J2EE就意味著使用了Linux(Unix)+Oracle,而使用了.NET,就意味著使用了SqlServer+Windows,一般公司不太會采用J2EE+SqlServer+Windows,更不會采用.NET+Linux(Unix)+Oracle,當然也有的項目采用J2EE+Oracle+Windows或者.NET+Oracle+Windows等等,我們就不一一列舉了,最常用的還是.NET+SqlServer+Windows或者J2EE+Linux(Unix)+Oracle,我們簡稱.NET系列和J2EE系列。對于J2EE系列,功能強大、開放都是它的優點,但缺點也顯而易見,正因為強大,所以開發、維護困難,舉例,我們很少見過SqlServer管理員,卻常看到Oracle管理員,因為前者提供了強大的用戶交互體驗,所有的功能都可以通過鼠標點擊完成,界面友好,自動化程度高,程序員就可以替代數據庫管理員的工作,而Oracle則要復雜的多,很多操作都要使用命令完成,一個沒有受過專門培訓的程序員想要熟練操作Oracle幾乎不可能。
同樣,對于Windows和Linux(Unix)也存在類似的問題,換句話說對于.NET系列,成本較低,對于中小公司最適合,而J2EE系列開發成本較高,適合于較大公司。有的人采用J2EE系列是出于軟件成本考慮,認為Linux和java開發工具都是免費的,所以成本低,這個想法卻是不對的,雖然Linux內核本身免費,但成熟的商用Linux都是要花錢買的,java開發工具也有免費的,但是和商用工具比起來,友好度和功能明顯差一截,而Oracl不用說了,出身名門,身價不菲。而.NET系列,雖然都是收費,但是一套MSDN把所有的軟件都包含了,你盡管拿來用,沒有任何限制,只要你的公司規模沒有大到引起微軟的注意,惹得他們投訴你,你盡管放心去用。退一步講,如果你的規模達到足夠的規模了,也不會在意那點錢了,換成正版就是了。
個人感覺目前國內的公司在使用技術上也存在著高消費,就像文憑高消費一樣,本來中專生就能勝任的工作,非要本科生,本科生能干的活,非找個研究生,因為這樣說出去才有面子。同樣,介紹起自己的平臺如果說用的是.NET甚至是asp之類的,怎么拿得出手?怎么也得是java,因為某某公司用的就是這個,但你不要忘了高消費自然有高昂的代價,這個成本你必須承擔,不要指望每月給1千元就能招個本科生,即使能招來,出不了兩個月,人家學了本事也會走的。同樣那種指望用五六個人幾個月時間就搭建一套基于J2EE的平臺的想法也是很可笑的,這種平臺即使搭建出來也是個玩具,而且這個玩具還要持續不斷的投入,因為維護成本同樣昂貴。
本人是做.NET出身,有幸接觸過一段時間java+ Linux+Oracle,感覺差距太大了,原來想做什么操作,有很多自動化的辦法,也有很多中文資料備查,而J2EE雖然也有很多資源可查,但并不人性化,我可能是讓微軟慣壞了,而且由于目前個人PC系統都是微軟的,辦公軟件也是微軟的,所以平臺和用戶的許多交互操作,例如導入導出、生成excel報表等等,對于.NET來說這是易如反掌的,而對于J2EE就要獨辟蹊徑了。另外微軟的產品很注重客戶友好度,使用它的產品你感覺是真正的客戶,而對于J2EE、Oracle等產品,定位卻是專業工具,如果非專業人士都能看懂,那專業人士怎么辦呢?這些產品本來也不是為普通客戶設計的。
總而言之一句話,找準自己的定位,如果沒有足夠的money和時間,就選擇.NET吧,它的功能并不差呀,看看微軟的站點吧,如果這樣規模的公司都可以使用.NET,你擔心什么?
【編輯推薦】