首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >寻找.NET 3.5 / J2EE架构概念比较文章/图表

寻找.NET 3.5 / J2EE架构概念比较文章/图表
EN

Stack Overflow用户
提问于 2009-02-05 10:49:19
回答 6查看 2.9K关注 0票数 7

我们正在考虑将.NET技术与Java技术(WCF、JBoss/ESB、MOM、WPF、WF)结合起来,我需要对.NET 3.5和Java世界中的苹果和橙子有一个高层次的认识。

有没有人知道一篇好的、清晰的文章,或者更好的是一张简单的图表来回答以下问题:

  • Java世界中的WCF是______。
  • 在Java世界中,与WPF等价的是_____。
  • JBoss在.NET世界中关闭的东西是_____。
  • 除了这些差异外,JVM和CLR本质上是相同的:.
  • 在Java世界中,您没有WF/WCF/WPF的概念,而是.
  • Java世界中还没有"LINQ“,但是您可以使用___
  • 在Java世界中最接近ADO.NET数据服务的是..。

我不想讨论这个问题,所以我不是在寻找“战斗点”,我只需要一个中性的比较两个世界的图表。

EN

回答 6

Stack Overflow用户

发布于 2009-02-05 15:13:32

我不知道有一个好的,清晰的图表,但我将冒昧地回答你的问题。(警告--我是一名J2EE开发人员,上一次使用微软编程是用经典的ASP和VB 6编写的。我无法评估MS技术,但我对很多类似的Java都有很好的理解。)

  • :WCF似乎是关于简化Web的。J2EE的等价物是Apache,它使用JAX-WS2.0规范中可用的注释来简化Web的创建。
  • WPF:这个很简单。微软的技术看起来像是JavaServer面孔的直接翻版。我不能告诉你哪一个更好,但它们非常相似。编辑:I在这个问题上太快了-- 在桌面上不能工作,就像WPF应该做的那样。底层技术是相似的,但JavaFX可能是更好的比较。
  • JBoss in .NET:其他人可能想让我改邪归正,但我觉得说它不存在是相当安全的。想想看。您需要一个免费的、开放源码的产品来运行一个专有的、非免费的规范。如果您使用Microsoft,您就会被IIS困住,就像您被Windows困住一样。
  • JVM与CLR:我发现了一篇文章,即可用的这里,它表明两者之间没有什么区别。我看到的这两者之间的许多争论集中在Windows作为一种服务器技术的弱点(真实的或被认为的)上。
  • 是Java世界所拥有的,而不是WF/WPF/WCF:在我看来,在这里,Java世界比女士有真正的好处--那里有无数的框架,所以您一定会找到适合您的需求的东西(免费的!)。您可以使用Spring或Struts2.0或Wicket。对于数据库层,您可以选择Hibernate或Ibatis。看看Web框架的这份清单。Java总共列出了9个框架。微软有一个: WCF。
  • LINQ的Java等效:同样,有人可以纠正我,但我不确定是否有类似的。优势微软。
  • ADO.NET Data Services:这在Java中可以通过JPA和RESTful Web服务实现,但我认为在MS世界中实现起来要容易一些。

还有一个领域,我认为微软正在领先于Java社区:他们正在对函数式编程进行一些明智的投资,而Java的人则无谓地争论着向Java添加闭包的最佳方法。同样地,也有一些新兴的技术-- OSGi,也就是--来处理大量的Java框架所涉及的极其复杂的问题。因为MS对他们的领域有更严格的控制,所以他们更容易处理他们的各种组件。

还有一些人的考虑:你能找到谁来工作什么技术,以及X的招聘成本和Y的招聘费用。但不管你选择什么,这都是真的。

希望这能有所帮助!

票数 6
EN

Stack Overflow用户

发布于 2009-02-05 13:49:48

要找到这方面的好信息真的很困难,甚至更难找到最新的信息。其中大部分是关于.NET 1.1或2.0的。

无论如何,我会在这里提供一些你可能感兴趣的链接:

  • http://www.artima.com/intv/anders.html -采访Anders,C#编程语言的首席设计师
  • http://www.25hoursaday.com/CsharpVsJava.html - Dare Obasanjo的“从Java的角度看C#”
  • http://benpryor.com/blog/2006/05/04/jvm-vs-clr-memory-allocation/ - JVM与CLR内存分配
  • http://sharptoolbox.com/categories -用于.NET的工具、库和框架的列表
  • http://javatoolbox.com/categories -用于J2EE的工具、库和框架的列表
  • 平台 -维基百科对Java和.NET的比较
  • 锐利 -维基百科对Java和C#的比较

希望能帮上忙!我会继续更新这一点,无论何时我停下来一些有用的信息。

票数 4
EN

Stack Overflow用户

发布于 2010-06-14 03:01:40

我是一个做过C++、Java和现在的C#开发的程序员。

以下是我对最初问题的回答:

WCF = EJBS/J2EE服务器(例如JBoss)

WPF = Swing (JavaFX)

JBoss =我认为WCF不需要服务器,只需在.net运行时运行。不过,我不太确定,还在学习。JVM和CLR: CLR可以完成JVM所能做的一切,但是CLR也可以:运行非托管代码,将一个进程分离为多个逻辑进程(AppDomains)。与java相比有很好的C++集成,CLR只是更好。语言c#也优于java (Lambda的、删除的、表达式树、引用、结构、扩展方法、部分类、泛型的、没有装箱的)。他们在这里做得很好!)但只运行在窗户上。

WF=不知道它是否存在

Linq =目前无法用Java实现,因为您需要:Lambda的、表达式树和扩展方法

ADO.net数据服务:我不知道java中有什么模拟器,但这可以很容易地实现。可能存在于某个露天市场项目中。

在做了这两件事之后,我对它们之间的关系得出了结论:

.net更容易学习,非常容易,但也同样强大。之所以如此,是因为api中方法的命名更加一致,解决方案的集成性更好,一些api的设计也更好(WPF就是一个例子,其他api还在学习,不能这么说)。因此,.net程序员的成本将更低。

用c#开发应用程序的速度将是Java的1.5至2倍。在那里IDE (视觉工作室)感觉更好。你可以在20分钟内把它延长,不是吧!尝试理解eclypse扩展机制不是一件容易的事情!Eclipse代码重构功能是win的一条腿。电视演播室赢了很多人。(可以提供商业插件吗?)

在使用.Net时,您可能需要支付许可证,用于操作系统和IIS。对于数据库,您可以使用MySQL进行处理。

对于java,您将不必支付许可证。然而,在现实中,你仍然需要梅斯。严肃的应用程序运行Redhad或其他一些非免费操作系统。web服务器可能完全免费。而且,这些系统很难管理,因此您的管理员可能会花费更多。

我是一个java认证的开发人员(92%),也是webservices认证的(JSP,servlets,87%)和web组件开发人员认证(EJB,82%)。我也是微软认证的开发人员(90%)和认证的WPF开发人员(90%)。Java考试比微软考试难。这是因为java考试问了许多幼稚的无关问题,比如持久化对象的正确方法名称是什么: SaveChanges()、PersistChanges()、EmitChanges()或SendChangesToDatabase()。任何人都知道,知道方法名称是没有用的。IDE将为您提供正确的名称。如果您的方法名称彼此模拟,那么您就会有一个非常糟糕和令人困惑的api!重要的是你知道你为什么这么叫它!微软的考试更多关注的是为什么要这么做。在我看来,微软考试确实帮助你成为一个更好的程序员。Java考试也很有用,但更像是学习一本电话簿;它很难,但没有用。

总之,我认为C#具有技术上的优势(这是合乎逻辑的,因为他们从java中学到了很多东西,并购买了世界上最聪明的人来编写它)。您将支付更多的许可证,但可能更少的人。

很晚了,我累了,不想再读了。我应该,我知道。但不会。我这里没有拼写检查器,所以可能会有很多错误。我的第一种语言是荷兰语,我的第二种法语,第三种是英语(我住在比利时,我们很复杂),所以我想我可以打一些错误?:)

希望这能为你提供一些清晰的信息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/515397

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档