InfoQ 近距离观察 Oracle ADF Mobile

  • Martin Monroe
  • 康锦龙

2013 年 1 月 20 日

话题:DevOps语言 & 开发架构文化 & 方法

Oracle ADF(Application Development Framework) Moblie 的发布已经尘埃落定,InfoQ 就社区对此款产品的反应进行了调查。

Oracle 对开发者在移动计算时代需要什么工具的解读看起来与其竞争对手相同,并且明明白白的写了出来。移动开发者不希望无休止的为每个移动 OS 重写他们的代码。不过,在stackexchange.com网站上,exTrace101认为价格会成为一个问题(他很可能不是唯一一个有这个问题的开发者):

Q:我想知道,对于没有购买过(昂贵的)ADF 许可的开发者,Oracle ADF Mobile 是否可以免费使用……A:它不是免费的,定价为:120 美元 / 每命名用户。如果你需要在 App Store 等平台发布你的应用,还需要购买处理器许可:5800 美元 / 每处理器。

按照 InfoQ 之前的报道,经济上不宽裕的开发者们可以签出一个 ADF 的免费版本。exTrace101 回答的内容包含很多信息,虽然很多是自问自答:

Q:使用范围怎么样?A:Oracle 的 FAQ 上说:一个 ADF 命名用户许可包含一个 ADF Mobile 命名用户的许可。一个 ADF 处理器许可允许无限制数量的设备访问用户部署的基于 ADF Mobile 的应用。Q:ADF Mobile 适用于游戏吗?A:我虽然不清楚它是否适用于游戏,但是这里有一个提示:Oracle 的 FAQ 上说:你可以基于设备的原生代码添加功能。所有功能可以在一个应用中运行,并且可以相互通讯。(我)希望有人(能够)搞清楚关于使用 ADF Mobile 制作游戏的问题。

与此同时,IceSoft Technologies上的用户zzzz8对 Oracle ADF Mobile 将如何挑战 Icemobile 感到十分好奇:

我刚看了关于 Oracle ADF Mobile 的新闻和一些文章(以及 Oracle 网站上的一些介绍)。这是一个非常有意思的解决方案。不幸的是,它的最大缺陷是仅支持 Oracle WebLogicy 以及 Fusion,导致像我这种没钱购买 Oracle WebLoginc 许可的人无法使用。然而,Oracle 表示,使用 ADF Mobile 开发的应用应该能够通过苹果 App Store 的审查——这一直是 ICEmobile 最大的问题之一。Q:ICEmobile 团队中有人能够就 ICEmobile 和 Oracle ADF Mobile 之间的相同和不同发表评论吗?

网站上的另一位用户ted.goddard回复:

A:ADF mobile 应用同时使用了嵌入式 JVM(Java virtual machine)和 PhoneGap,所以一个使用了服务器端 JSF(JavaServer Faces)的在线 ADF mobile 应用不太可能被接受。如果应用是内建而不用下载任意脚本或 HTML 页面,它就不会违反 App Store 的指导原则。同样的,如果能够创建独立的 ICEmobile 应用,也可以通过商店的审查。所以,这个应用必须以纯 HTML 创建,并且 HTML 必须在应用内进行缓存。包含 JVM 的做法很有意思:之前,WebKit JavaScript 等脚本语言是被禁止的,所以才有了跑 JSP(JavaServer Pages)的 ICEmobile 应用,以及在本地 JVM 中运行的 ICEFace。

还有其他的证据显示,重要的不是你知道什么,而是你跟着谁干。在ADF Enterprise Methodology Group (一个 Google 群组)上,群组成员 Vaibhav Rastogi 就Phonegap 和 ADF Mobile两者间的联系发表了评论:

Oracle ADF Mobile 基于Phone Gap。容器中包含了 Phone Gap 类库,以便支持设备服务集成。

Oracle 的大人物Joe Huang 不出意外的提供了一堆数据:

相比单纯使用 PG,使用 ADF Mobile 的好处多多:

  • 对于初学者,由于 ADF Moble 在框架中内嵌了 PhoneGap,所以初学者已经在 ADF Moblie 中获得了 PhoneGap。
  • ADF Mobile 中包含了一套 Oracle 开发的完全为移动设备优化的 HTML5 组件集。如果你之前使用过 JQuery 组件,你会认为它对于桌面浏览器来说很棒,但是完全没有为移动设备的 Web 引擎进行优化。我们最初观察了 JQuery/jQueryMobile,但是他们无法满足我们的性能要求。
  • 业务逻辑通过内嵌的轻量级无头(headless)JavaVM 交付。如果你直接使用 PG+JQMobile,你要么需要使用原生代码编写你的业务逻辑,要么你需要使用 JavaScript。在 ADF Mobile 中,你可以用 Java。
  • 框架中内嵌了加密的 SQLite 数据库引擎。配合 PG+JQMobile,你可以自行加密数据库。
  • 开箱即用的 Oracle 认证管理集成
  • JDeveloper 中的集成开发经验
  • 与开发其他 ADF 应用一样的开发范式

像 JavaVM 这样的优点,也只有 Oracle 能够提供了。

查看英文原文InfoQ Takes a Closer Look at Oracle’s ADF Mobile


感谢杨赛对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

DevOps语言 & 开发架构文化 & 方法