.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等产品,定位却是专业工具,如果非专业人士都能看懂,那专业人士怎么办呢?这些产品本来也不是为普通客户设计的。

相关推荐