和.Net团队打交道经常会谈到J2EE与.NET,而且都会谈到自己对这两个平台的看法,偶尔还会争的面红耳赤。
       于是乎就想找些权威资料以此check一下我们的理解。近期整理一下资料和偶的理解,热烈欢迎技术爱好者拍砖。
       先说明一点,吾仅想通过对比来让更多人的了解这两个平台,不是去证明哪个更帅、更性感,J2EE与.NET都是优秀的平台解决方案!
       下面我们就来臭臭他们:
       1、诞生的原因:都是为了解决构建企业计算等应用而出现的,可能你会说J2EE、.NET推出的原因是MS与SUN的市场竞争,这个偶也不否认,但是这两个平台的推出的深层次原因还是市场决定的。
       2、都包含了一系列的技术,而且这些技术的理念和技术实现都类似。像package与namespace、gc回收机制、class文件都很类似。
       3、都是优秀的平台解决方案:两个平台都实现了为用户提供完整的解决方案的共同目标,满足了市场的需求,都是成功的。嘿嘿,说的俗一点,可是养活了好大一批人呢。
       4、开发语言:J2EE的开发语言为Java,。NET的开发语言可为C#、VB.net等,但是业界高人认为。NET对C#支持是最好的,而且目前市场上(技术体系、人力资源)也基本上是这个现状。关于Java(SUN、IBM)、JDK、JVM与C#(MS)、.NET Framework、CLR的detail在这暂不细表。
       5、企业级应用:J2EE、NET都非常适合开发企业计算平台、二者都为构建完整的企业计算平台做出了大量的工作,都支持N层应用的开发。个人认为J2EE在人力资源、技术支持资料、开源框架等方面表现的很暴力,像Spring、Hibernate、Tomcat、Struts。。。。二者也都支持Web Service的开发,感觉.NET平台实现Web Service更容易些,相信随着广大技术爱好者的共同努力,j2ee实现Web Service也会更简约。
        6、技术标准开放程度:.NET的标准并没有完全开放,若不是全世界抗MS技术大军,可能今天MS会更NB,根本不可能OPEN。说到。NET不能不提Windows,选择。NET也基本上意味着被绑上贼船了,从IDE、os、server等搭建平台的相关产品全为MS的产品——垄断。这也是ms被骂的原因之一。说个题外话,本周五bill同志,伟大软件革命先行者,退休了,而且把4~500亿的真金百银全捐,bill是个好同志!希望看到这儿,你别说等俺有那么银子,退休后也全捐。j2ee是完全开放的技术标准,说到这偶提到一个概念JVM你就明白了,Jvm包括三个概念:抽象规范、一个具体的实现、一个运行中的虚拟机实例,明白吗,还没有明白。。。my god,jvm作为一个抽象规范,任何一个开放商都可以实现这个抽象规范,若明天我们实现一个,那我们也可以按照jvm规范实现一个jvm。你听说除了ms之外哪个公司实现一套自己的CLR、.NET Framework sdk?
        7、跨平台与安全性:可能各位清楚Java的nb广告语write once,run anywhere,若你开发的程序为纯java的,跨平台ok的。使用.NET基本上你不要三心二意了,ilovewindows!windows平台的安全性总让人揪心,这与windows用户多也有关系,人多小偷多一个道理。
        8、部署方面:tnd,ms的东东就是好用,j2ee的部署要相对复杂些。我们一线的战友经常被后方开发工程师的修改这个xml、那个xml搞晕。
        9、最大的不同:使用j2ee、.net的人的不同是这两个平台最大的不同。洪七公与郭靖打狗棒法是相同的,不同的是洪七公与郭靖。
        j2ee与.net平台的两个阵营的竞争还会继续,而且会汲取对方的长处不断完善自己,从Java与C#这两个语言上就可以看出来。但愿不久的将来合二为一,天下一统!