2012-02-09 83 views
6

我决定学习另一种语言,并在采摘阶段。为什么Java有像C#那样多的版本?

目前正在研究Java和C#,但倾向于Java,因为它是跨平台的。我将主要建立基于网络的应用程序,但各种Java版本让我感到害怕。 Java EE,SE,ME,FX有什么区别?使用一个到另一个有什么好处?

好的,FX用于台式机,ME用于移动,SE和EE是一样的,但一个是“业务”,另一个不是。所以,如果我学习SE,那么切换到EE会需要什么?还是FX?我的问题是,我不明白为什么SE,EE和FX是独立的产品?它们都运行相同的JVM,并且都可以执行相同的结果应用程序。为什么他们分开了呢?

+0

还要注意的是,甲骨文计划的Java FX集成到Java SE的9版本,如果他们得到的社会认可:http://openjdk.java.net/projects/openjfx/ – Puce 2012-03-05 14:00:59

回答

10

它并不那么具有破坏性。

  • Java SE是标准应用程序的标准。
  • Java ME适用于移动电话,例如无浮点的子集。
  • Java EE是用于Web应用程序和Web服务器的Java SE的补充。
  • Java FX是一个flash player的替代品,但现在用java绑定/集成。

因此Java SE构成了基础。 Java EE适用于Web应用程序。

未来的java将会得到一个模块化的系统,区别将仅仅在库级别上。

+0

但是,我们可以说,Java版本是建立在相同的基础之上的,而版本只是针对特定行业领域的附加库/框架? – 2012-02-09 21:31:46

+0

Java FX是一款具有自己的脚本的产品,但集成在Java SE中。 Java ME是一个剥离版本,专为使用非X86 CPU的低级手机而设计。但是,Java EE和Java FX是新增功能。 – 2012-02-09 21:45:24

+0

@JoopEggen:请注意,Oracle删除了Java FX脚本以支持纯Java API。 – Puce 2012-03-05 13:48:11

16

想起他们的这样的:

  • 我〜= Compact框架
  • SE〜= .NET客户端配置文件
  • EE〜=完整的.NET框架(和一些额外的位:)
  • FX〜=的Silverlight

这不是一个准确的比较,但它是足够接近的开始..

3

不同版本(SE,EE,ME和FX)都只是位于JVM之上的不同API(可在此处找到完整描述:Your First Cup)。它们不是不同的语言,所以没有新的语法来学习它们之间的切换,只是不同的API调用。

个人而言,我更喜欢C#开发Web应用程序,因为它与ASP.NET和MVC框架的集成。

4

当你说编辑器,我认为你的意思是IDE(集成开发环境)。 Java之所以有这么多编辑器和C#没有,是因为Java是开源的,而C#则不是。因此,您将在C#中找到的唯一真正好的IDE称为“visual studio”(它不是免费的)

我强烈建议您去java,因为几乎所有的工具都是免费的甚至是部署应用程序的应用程序服务器。

不要害怕java版本,如果你想构建web应用程序,你需要去JavaEE(企业版)。 无论如何,这是他们每个人都做的:

SE(标准版):它包含最常用的桌面应用程序的基本库,但它也是企业版的一部分。

EE(企业版):用于企业应用程序(不只是Web应用程序),这样就意味着分布式编程,从网络应用程序,桌面到Web服务...

ME(微型版):是指对于移动技术而言,不仅仅是手机,还有自动售货机,智能电视,导弹制导......;

FX:是一个以简单的方式开发强大客户的丰富开发平台。

关于你的问题,EE和SE之间的差异,我已经回答了,换句话说:

EE是SE的扩展,包括EE,让您的企业应用程序。 所以如果你想在EE中编程,你需要安装SE(只要把它想象成一个系统需求)。

我真的不明白你的商业意味着什么。我可以告诉你的是,企业版在其库中集成了用于开发商业组件的工具,称为EJB(Enterprise Java Beans)。

EE,SE和FX是分离式产品的原因是因为需要分离关注点。

例如:您可能创建了根本不需要通过互联网进行通信的桌面应用程序。你为什么要在企业库中使用分布式编程?

惠顾所有方面,但最后一个问题是有点没有道理。

+0

谢谢!非常翔实和很好的解释。 – 2012-02-09 22:41:11

+0

有一个免费版本的Visual Studio ... – 2013-01-31 17:45:46

+0

@Nik Bougalis :)我不确定,但是,视觉工作室快递?不知道,这有什么好处吗?我想,当你选择一种编程语言时,你也希望使用一种非常受欢迎,并且已经有很多人使用的IDE,这样当遇到困难时你可以更容易地找到解决方案。我对这个IDE并不熟悉,但即使是我,我想我也不会推荐它。 – sfrj 2013-01-31 20:35:03

相关问题