java正在寻找一个新的应用程序。NET 3.5/J2EE体系结构概念比较文章/图表
我们正在考虑合并。NET技术和Java技术(WCF、JBoss/ESB、MOM、WPF、WF)以及我需要从更高的层次上了解苹果和橙子是什么。NET3.5和Java世界
有人知道一篇好的、清晰的文章,或者更好的是一个简单的图表,可以回答以下问题:
- Java世界中的WCF是
- 在Java世界中,WPF的等价物是
- 最后,它关闭了JBoss。网络世界是
- JVM和CLR本质上是相同的,除了这些区别:李>
- 在Java世界中,您没有WF/WCF/WPF的概念,而是李>
- Java世界中还没有“LINQ”,但您可以使用
- 最接近ADO。Java世界中的NET数据服务是李>
我不想讨论这个问题,所以我不想寻找“战斗点”,我只需要一个中立的what is what图表来比较这两个世界
# 1 楼答案
在此人的帖子上:
。NET有NHibernate和iBatis。网看起来不像Java的同类产品那么好,但已经足够好了
事实上,网上有很多开源项目。网络方面:城堡项目(MVC,IoC),努尼特,春天。网别忘了Mono是内核的开源实现。NET框架
# 2 楼答案
你看过这些吗
http://en.wikipedia.org/wiki/.NET%5FFramework#.NET%5Fvs.%5FJava%5Fand%5FJava%5FEE
http://en.wikipedia.org/wiki/Comparison%5Fof%5Fthe%5FJava%5Fand%5F.NET%5Fplatforms
http://en.wikipedia.org/wiki/Comparison%5Fof%5FC%5FSharp%5Fand%5FJava
# 3 楼答案
在我看来,Java的框架太多了。几十个Linux发行版也有同样的问题
当然,我也可以这么说。但它只是更清晰。那是我的.02
# 4 楼答案
以下是我对最初问题的回答:
WCF=EJB/J2EE服务器(例如JBoss)
WPF=Swing(JavaFX)
JBoss=我认为WCF不需要服务器,只需要在服务器中运行。net运行时。但对此并不确定,仍在学习中。JVM vs CLR:CLR可以做JVM能做的一切,但CLR也可以:运行非托管代码,将一个进程分隔为多个逻辑进程(AppDomains)。与java相比,C++的集成非常好,CLR就更好了。语言c#也比java好(Lambda的、delegetes的、表达式树的、引用的、结构的、扩展方法的、分部类的、没有装箱的泛型的。他们在这里做得很好!)但只在windows上运行
WF=不知道它是否存在,可能
Linq=目前无法在Java中实现,因为您需要:Lambda、表达式树和扩展方法
阿多。net数据服务:我不知道java中有什么类似的东西,但这很容易实现。可能存在于某个opensourse项目中
完成这两个步骤后,我得出了关于它们之间关系的结论:
。net更容易学习,但同样强大。这是因为api中方法的命名更加一致,解决方案的集成度更好,一些api的设计也更好(WPF就是一个例子,其他api不能这么说,还在学习)。正因为如此。net程序员的成本会更低
在c#中开发应用程序的速度将是Java的1.5到2倍。 在那里,IDE(visual studio)感觉更好。你可以在20分钟内把它延长,不要紧! 试图理解eclypse扩展机制并非易事!Eclipse代码重构功能是win的一条腿。VisualStudio赢得了许多其他项目。(可能有商业插件吗?)
使用时。Net您可能需要支付许可证、操作系统和IIS的费用。 对于数据库,你可以使用MySQL
对于java,您无需支付许可证费用。然而,在现实中,你可能仍然必须这样做。 严肃的应用程序运行Redhad或其他非免费操作系统。网络服务器可能完全免费。此外,这些系统更难管理,因此管理员的成本可能会更高
我是java认证的开发人员(92%)、webservices认证的开发人员(JSP、servlets,87%)和web组件开发人员认证的开发人员(EJB,82%)。我也是微软认证的开发者(90%)和WPF认证开发者(90%)。Java考试比微软考试更难。 这是因为java考试会问很多幼稚的无关问题,比如保存对象的正确方法名是什么:SaveChanges()、PersistChanges()、EmitChanges()或SendChangesToDatabase()。 任何人都知道知道方法名是没有用的。IDE将为您提供正确的名称。如果你真的有如此相似的方法名,那么你就有了一个非常糟糕且令人困惑的api!重要的是你知道为什么叫它!微软的考试更关注的是“为什么”和“如何”。在我看来,微软考试真的能帮助你成为一名更好的程序员。Java考试也很有用,但更像是学习电话簿;这很难,但没用
总之,我相信C#在技术上是优秀的(这是合乎逻辑的,因为他们从java中学到了很多东西,并聘请了世界上最聪明的人来编写它)。你将在许可证上支付更多,但在人员上可能会更少
很晚了,我很累,不想重读。我应该,我知道。但不会。我这里没有拼写检查,所以可能会有很多拼写错误。我的第一种语言是荷兰语,第二种法语,第三种语言是英语(我住在比利时,我们很复杂),所以我想我可以有一些拼写错误,对吗?:)
希望这能为你提供一些清晰的信息
# 5 楼答案
很难找到关于这方面的好信息,更难找到最新的信息。大部分是关于。净1.1或2.0
无论如何,我将在这里提供一些您可能感兴趣的链接:
希望有帮助!我会随时更新这些有用的信息
# 6 楼答案
我不知道有什么好的、清晰的图表,但我可以大胆地回答你的问题。(警告——我是一名J2EE开发人员,上一次做Microsoft编程时使用的是经典的ASP和VB 6。我无法评估MS技术,但我对许多Java等效技术有很好的了解。)
我认为微软在另一个领域走在了Java社区的前面:他们在函数式编程方面进行了一些明智的投资,而Java用户则在毫无意义地争论如何最好地为Java添加闭包。同样,也有一些新兴技术——即OSGi——来处理大量Java框架所涉及的巨大复杂性。由于微软对他们的领域有更严格的控制,他们更容易处理各种组件
然后还有人为因素:你能找到谁来工作,什么技术,雇佣X和雇佣Y的成本是多少。但不管你选择什么,这都是事实
希望这有帮助