我在两个企业 ADF 项目中为一家著名的国防承包商使用了 JDeveloper 10 和 11,两者都与 ADF 一起使用。我同意 ADF 很复杂,但不同意 JDev 经常崩溃,或者页面渲染缓慢。
现在...为什么是 ADF?阅读以下 Oracle 的概要,其中指出 JDeveloper 和 ADF 使“业务”程序员更容易进行 Java EE 开发。虽然这并不能保证程序优雅,但它几乎可以肯定地保证,当这些开发人员遇到 ADF 的麻烦时,他们可能会完全迷失,并且不知道如何打开引擎盖并进入内部。相反,他们会在尝试集成当前的 J2EE 开源聚宝盆时更快地迷失方向。
讲道 来源:ADF 开发者指南(释义)
“自 1990 年代后期的早期 Java 时代以来,Java 企业平台已经大规模发展,如今已被大型开发人员社区使用。但是,开发人员社区并不是同质化的,其中包括不是专业 Java 程序员,而是业务的开发人员具有行业核心能力的开发人员 随着 Java EE 平台和社区的发展,程序员的平均技能水平正在下降。
很难想象会有一个开发人员深入了解 Java EE 平台的所有方面。Java EE 中要解决的问题是提供一种技术,使开发人员能够在不限制其敏捷性的情况下构建尖端的 Web 和 SOA 应用程序。
现有的 Java 框架(如 Struts、Spring、JSF、EJB、GWT 等)是覆盖复杂领域的毯子,它们公开了更简单的控件以供使用。使用框架,开发人员不再使用 java 核心 API,而是与框架公开的接口和服务进行交互。
等等等等等等...
对于有经验的 Java 开发人员来说似乎是一个小问题,但对于刚接触 Java 和 EE 开发的业务开发人员来说,这是另一个障碍。这种类型的开发人员可能会转向一个单一的开发环境,承诺将应用程序开发的所有方面集成到一个单一的技术选择中。具有 4GL 桌面开发背景的开发人员可能会被 PLSQL、.NET、Adobe Flash 所吸引。
一个有经验的 Java 开发人员可能会认为这是一个大错误,但是这些开发人员怎么会知道,除非 Java 也为他们提供了一个单一的解决方案?该解决方案是一个端到端框架,它为技术提供了另一层覆盖,将不同的框架和技术组合成一个单一的产品,它展示了可视化和声明性的开发手势,因为它是主要的编程方法……ADF。”