开始另一个新的服务器端项目(基于java),这里的问题是是坚持基于纯Java EE
的方法还是混合搭配基于开源框架的最佳工具。
在Java EE 1.4
之后,我们看到了大量的技术选择,例如Spring
(关于它何时出现的边界,但感觉1.4之后的受欢迎程度非常高),SCA
这似乎与Java EE
和spring重叠,以及许多开源java框架。
长期维持这些新框架将很困难。开发人员确实喜欢最好的工具,并且似乎总是欢迎更多新的选择。
答案 0 :(得分:2)
在我看来,Java EE没有跟上行业的发展趋势,也不会在未来。
(2012年11月19日:最近有人对这篇文章进行了评论,所以我认为我会使用来自独立来源的相关最新链接来更新它:http://brianoneill.blogspot.com/2012/10/Java EE-is-dead-long-live-javascript。 html)
Web服务,RSS,XML,ORM方法。 Java EE被宣传为可以让您致力于技术的东西,从而降低了对应用平台技术供应商承诺的风险。但这从未真正成功。而现在显然不再现实。
Java EE未能实现的是,在部署基于服务器的应用程序时,所谓的“应用程序平台”的供应商并不是唯一甚至是主导的投资。涉及数据库,有时排队系统。如果它有Oracle DB,那么在管理或运行其数据库时找到不使用Oracle特定功能的商店是很少见的。或者WebLogic特有的功能,如果它具有WebLogic服务器。
除了“app server + db”对之外,还有源代码控制系统,测试框架和工具,需求管理系统,规则引擎,开发工具,搜索/索引引擎,性能分析工具等等。您将最终承诺许多供应商,或至少具体实现其中许多事情。
二十年前,在前“开放系统”时代(我知道我听起来像一个老抄写员),致力于一个应用程序平台意味着承诺为所有提供给该供应商。如果您从DEC购买了服务器,那么您购买了DEC网络,DEC开发工具,DEC数据库。如果您从Apollo购买了服务器,那么您就购买了Apollo终端,Apollo网络设备,Apollo编译器等等。这有两个不利影响 - (a)价格高,因为客户无法切换编译器,网络设备等。一旦你承诺一件,你就被俘。 (b)存在供应商破产的风险,您将被搁置在废弃的平台上。这些都是真正的问题。
Java EE的承诺,即使它在10年前推出,也是基于解决同样的问题 - 保持“应用平台”的价格低,并保持低被抛弃的风险。
但Linux,开源和intertubes在减轻这些风险方面做得比Java EE更多。今天你可以免费获得Tomcat,几乎没有任何x64服务器,以及开源的源代码控制和测试框架。你仍然面临被抛弃项目的风险,但事情就是如此。
因此,最初声明拥有Java EE的原因已经不再有效了。即便如此,Java EE在这里也是常见的。那么,值得使用它吗?
不,我会说应该像其他任何东西一样判断它的优点。 Hibernate比EJB3更好吗?也许。 Spring是比服务器bean更好的设计隐喻吗?可以说。但当然这取决于项目,商店。
您应该自己做出决定,并根据技术优势做出决定。我认为Java EE不应该得到任何特殊的考虑。