经常有客户问我,到底用微软平台还是Java平台的问题。其实这是一个永远没有结果的悖论,只能陷入空对空的空谈。不过如果抛弃个人喜好与特定客户的历史原因来客观地考虑,二者之间的确是微软平台的优势更加明显一些。<!-- [if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning/> <w:DrawingGridVerticalSpacing>7.8 磅</w:DrawingGridVerticalSpacing> <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery> <w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery> <w:ValidateAgainstSchemas/> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:SpaceForUL/> <w:BalanceSingleByteDoubleByteWidth/> <w:DoNotLeaveBackslashAlone/> <w:ULTrailSpace/> <w:DoNotExpandShiftReturn/> <w:AdjustLineHeightInTable/> <w:BreakWrappedTables/> <w:SnapToGridInCell/> <w:WrapTextWithPunct/> <w:UseAsianBreakRules/> <w:DontGrowAutofit/> <w:UseFELayout/> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument></xml><![endif]--><!-- [if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles></xml><![endif]--><!-- [if !mso]>< classid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id=ieooui></object><mce:style><!--st1\:*{behavior:url(#ieooui) }--><!-- [endif]--><!-- [if gte mso 10]><mce:style><!-- /* Style Definitions */ table.MsoNormalTable{mso-style-name:普通表格;mso-tstyle-rowband-size:0;mso-tstyle-colband-size:0;mso-style-noshow:yes;mso-style-parent:"";mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-para-margin:0cm;mso-para-margin-bottom:.0001pt;mso-pagination:widow-orphan;font-size:10.0pt;font-family:"Times New Roman";mso-fareast-font-family:"Times New Roman";mso-ansi-language:#0400;mso-fareast-language:#0400;mso-bidi-language:#0400;}--><!-- [endif]-->
转载自:http://blog.csdn.net/gongfs/archive/2009/08/26/4487278.aspx
| .Net
| J2EE
| 描述
| 技术架构
| 技术架构基本相似
J2EE支持多平台,单一语言;
.Net支持多语言,单一平台。
J2EE是多家公司维护一个产品;
.Net是一家公司维护多个产品。
| ü 二者都支持多层分布式应用的标准架构。
ü .NET Framework和Java都有一个受控的运行时环境,它不但将源代码转换成中间语言,而且将这些中间语言编译成本地的可执行代码。两个环境都支持碎片整理、动态类加载和异常处理等。
ü .NET和Java都倡导和支持基于组件的设计、多态性、继承和接口、反射、泛型等,也提供基础类库来执行I/O、XML处理、带有连接池的数据库接入、文本操作与网页脚本编写。
ü .NET Framework提供了一个跨服务器、PC和其它设备的一致的、面向组件的模型。而J2EE提供EJB作为服务器端的组件模型。
ü J2EE以Java语言为主,但是支持多个操作系统平台;.Net则基于Windows平台,但是支持多种语言。
| 稳定性
| 强
| 强
| ü 没有明显的证据表明哪一种应用系统更加稳定。
ü 在Windows操作系统上,.Net应用由于提供了原生态支持,理论上反而更加稳定。
| 标准一致性
| 一致
| 不完全一致
| ü .Net被微软独家支持,有更好的一致性和兼容性;
ü J2EE被不同的厂家支持,没有两个厂家的标准是一致的。
| 易用性
| 好
| 相对差
| ü Microsoft应用良好的应用体验和成为业界标准的操作模式具有最佳的易用性。
| 可管理性
| 好
| 差
| ü 微软公司提供了从设计开发、测试部署、运行维护一揽子的产品解决方案;可管理性好。
ü Java则缺少这样一致性的官方产品线。
| 开发效率
| 高
| 相对低
| ü Visual Studio专门针对.Net量身定制,具有大量的组件和开发框架,开发模式统一。
ü Java则被多家公司支持,开发模式不一致,开发代码量大。
ü Visual Studio作为最佳开发工具赢得了一系列的大奖。评估过Visual Studio和其竞争对手的客户都说,相对于最好的Java工具Eclipse,Visual Studio开发效率更高。
ü Microsoft的产品线丰富,几乎遍及每一个角落,而且所有产品都可以相互集成,可以快速整合一个应用。
| 运行效率
| 高
| 低
| ü Java应用运行在虚拟机JVM上。
ü .Net应用运行在.Net Framework上,而.Net Framework是Windows操作系统的一部分。
| 实施成本
| 低
| 高
| ü Windows Server的许可证比三个遵从J2EE的商业服务器中的任何一个许可都便宜很多。这个比率是12比1。
ü .NET Framework开发工具的费用也更加低廉。Visual Studio .NET是.NET的整合开发工具,它的许可费用大大低于商业化的J2EE销售商制定的开发工具的费用。
ü .Net开发效率高导致开发成本低。
ü 使用.NET维护费用更低。专家认为许可费用并不是一个项目的最大开支。典型的软件开发和维护占项目总费用的50-80%。Middleware公司研究表明,在.NET上一个给定的应用程序开发相对于J2EE,只需要1/3的代码。代码越少就意味着维护成本更低。
| 用户体验
| 好
| 差
| ü .Net Framework提供了专门针对用户体验的WPF组件,用户体验十分丰富。
ü Java缺乏面向用户体验的开发支持。
|
|