本节书摘来自异步社区《PhoneGap精粹:构建跨平台的移动App》一书中的第1章,第1.11节混合应用程序框架,作者 【美】John M. Wargo,更多章节内容可以访问云栖社区“异步社区”公众号查看
1.11 混合应用程序框架
PhoneGap精粹:构建跨平台的移动App
使用PhoneGap制作混合应用程序在整个市场里并不是唯一的。虽然PhoneGap引领了潮流,但市场上还有一些使用类似方法的其他产品。在下面的部分中我们将说明这点。另外,能用来制作混合移动应用程序的产品不止下面的这些。
1.11.1 Appcelerator Titanium
Titanium也是一个开源的混合应用程序框架。正当PhoneGap获得移动开发人员推崇的时候,Appcele- rator(www.appcelerator.com)发布了Titanium。Titanium使用起来和PhoneGap很类似:开发人员使用web技术构建移动应用程序。但是如果使用Titanium的话,整个应用程序完全是用JavaScript编写的。运行在移动设备上的原生应用程序只是一个执行JavaScript代码的容器,如图1-6所示。应用程序的用户界面和应用程序逻辑都是用JavaScript编写的。
1.11.2 AT&T WorkBench和Antenna Volt
这两个产品通过提供多个可管理的容器,来运行多个HTML5应用程序。它们的实现方式是,由远程的管理服务器来控制提供一个原生的应用程序容器。当用户第一次运行应用程序时,他们必须通过后端服务器进行验证,同时会将提供给用户使用的web应用程序下载到容器中。虽然用户在他们的移动设备上只能看到一个应用程序图标,但是当用户启动该程序时,真正可用的应用程序列表就会显示在屏幕上,同时用户可以很方便地在这些应用程序间切换。
虽然这种解决方案主要是为企业客户设计的,但是普通客户也有很多用的。
像Worklight、WorkBench和Volt(这里我们使用简称),都是企业级的移动应用程序平台,这些平台都有额外的服务器组件(管理功能、报表功能以及连接后端数据源的功能)。
你可以在www.wireless.att.com/businesscenter/built-for-business/AMEAP.jsp和www.antenna- software.com/resource-center/volt上找到关于这些解决方案的其他信息。
1.11.3 BlackBerry WebWorks
Reasearch In Motion(RIM)开发者社区曾抱怨过,在BlackBerry平台上(用Java)构建原生移动应用程序太难了。因此,RIM推出了BlackBerry WebWorks平台。WebWorks(起初叫做BlackBerry Widgets,我倒觉得这个名字更好)是一个用于构建BlackBerry应用程序的混合应用程序框架。开发人员通过HTML、CSS和JavaScript构建移动应用程序,同时使用RIM提供的工具将web应用程序打包到一个原生的Java应用程序容器中,就像PhoneGap那样。
当你为BlackBerry构建PhoneGap应用程序时,你实际上是使用WebWorks的SDK将web应用程序打包到一个BlackBerry原生应用程序中。本质上来说,背后更深层的技术细节是:一个Black- Berry的PhoneGap应用程序只是一个使用了PhoneGap JavaScript库的BlackBerry WebWorks应用程序。
注意:
如果你希望更多地学习BlackBerry开发,你可以参看《BlackBerry® Development Fundamentals》(www.bbdevfundamentals.com),该书是由鄙人写的。不幸的是,该书发布的时候,BlackBerry WebWorks工具还只是beta版,所以上面的内容书中并没有涉及。
1.11.4 Strobe
Strobe(www.strobecorp.com)是一个移动应用程序交付网络,它使用PhoneGap Build(在第9章中详述)来打包那些使用Strobe框架构建的原生应用程序。你可以根据你的开发需求来选择使用Strobe的免费测试版或付费版本。目前该解决方案还处于内测阶段。
1.11.5 Tiggr
Tiggr(www.gotiggr.com)是一个基于web的IDE,主要用于构建移动应用程序。它包含一个可视化编辑器和jQuery Mobile界面组件(可以直接拖到web应用程序上)。你可以使用Tiggr和PhoneGap一起构建移动应用程序。目前Tiggr Mobile Apps Builder提供了15天试用版,但之后每个月就要花费45美元了。
1.11.6 Worklight
Worklight(www.worklight.com)是一个基于PhoneGap的商业移动应用程序平台。对于构建Worklight应用程序,Worklight提供了专属的基于Eclipse的IDE。此外,为了连通性还提供了特殊的服务器结构,这么做是为了可以提供管理功能、报表功能和应用程序数据,同时为移动应用优化了到后端或外部应用程序的连接。Worklight应用程序只是一个带有由Worklight平台提供的附加功能的PhoneGap应用程序,这些附加功能通过一些其他的JavaScript库实现。在2012年初,Worklight已经被IBM收购。