经常有客户问我,到底用微软平台还是Java 平台的问题。其实这是一个永远没有结果的悖论,只能陷入空对空的空谈。不过如果抛弃个人喜好与特定客户的历史原因来客观地考虑,二者之间的确是微软平台的优势更加明显一些。
转载自: http://blog.csdn.net/gongfs/archive/2009/08/26/4487278.aspx
| .Net | J2EE | 描述 |
技术架构 | 技术架构基本相似 J 2EE 支持多平台,单一语言; .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 缺乏面向用户体验的开发支持。 |