移动应用程序编程模型

注:本文摘于IBM developerWorks 

原文:使用混合应用程序编程模型为 WebSphere Commerce 构建移动应用程序

http://www.ibm.com/developerworks/cn/websphere/library/techarticles/1009_shum/1009_shum.html#N10119

移动应用程序编程模型

我们可以将提供移动应用程序的方法归为三类:web 应用程序、原生(设备上)应用程序,或二者的结合。下面几个小节简要描述每个模型的部分特征。

移动 web 应用程序

通过结合使用 HTML、层叠样式表(CSS)和 JavaScript 将移动 web 应用程序交付给移动设备。您可以或多或少地对移动设备进行一些定制。还可以定制特定设备。

这个模型的好处是,它基于我们熟悉的 web 编程技巧。它不需要最终用户安装任何特殊应用程序,因为它依赖内置浏览器。迭代开发很容易实现。更新不需要用户操作,只需更新服务器提供的内容。它还拥有一个好处:相同的、或近乎相同的内容能够服务不断增长的移动设备系列产品。

WebSphere Commerce 第 7 版包含了一个 Madisons Mobile store,它为智能手机提供定制的 web 体验。但是,这种方法也有一些缺点,包括应用程序可能缺乏原生应用程序的观感,可能有性能影响,以及不能 访问一些设备功能,比如本地地址簿或相机。

这种方法也依赖移动浏览器的功能,这可能是一个严重的不兼容性来源,特别是对于比较老的手持设备。HTML5 和 Webkit 浏览器引擎的流行将有助于缓解这些问题,但前提是功能更强大的新设备获得市场份额。

原生应用程序

相比之下,原生应用程序专门针对一个单一的移动平台编码,使用制造商提供的特定于设备的函数和库。这样的应用程序能够轻松集成平台的独特观感,通常比 web 应用程序表现更出色。它们可以任意访问 API 支持的原生设备功能。

问题是必须为每个受支持的平台从头编写应用程序。这样的设备数量众多,并且更新换代速度很快,因为大量公司通过功能越来越强大的设备争夺市场份额。编写原生应用程序也需要专业技术,平台之间的技术要求差异很大,不容易从一个平台迁移到另一个平台。

混合应用程序

混合应用程序试图结合 web 应用程序和原生应用程序的优势,是本文关注的焦点。基本的思路是编写一个原生应用程序 shell,但通过使用 web 视图(集成通常使用的 HTML、CSS 和 JavaScript)来提供主内容。原生框架可能包含一些可以从 JavaScript 访问的库,以便访问一些设备功能,比如本地地址列表、GPS、相机和其他设备特性。这允许 web 应用程序包含访问设备功能的代码。

混合应用程序模型的一个关键特性是在 JavaScript 例程和原生设备功能之间架起一座桥梁。如果每个用户都必须针对每个受支持的设备重新开发这个框架,那么这个开发任务非常艰巨。但是,实际上,有几个现成的这种性质的框架可用,既有专有的,也有开源的。如果这样一个框架支持多个设备,则意味着可以对所有受支持的设备使用相同的服务器端代码,只需要最小的细微定制,这意味着可能能够极大地节约需要的资源。

注意,原生和混合应用程序之间的差别主要位于实现层面。从最终用户的角度看,混合应用程序和原生应用程序通常没有区别。混合应用程序可以通过平台的应用程序市场(例如 iPhone App Store)交付给最终用户并提供原生用户体验,就像原生应用程序那样。

你可能感兴趣的:(JavaScript,编程,Web,框架,websphere,平台)