随着智能手机和平板电脑的普及,越来越多的互联网 IT 企业把注意力集中到了移动平台上。目前市场上主流的移动平台有 Apple 的 iOS, Google 的 Android, 微软的 Windows Phone, BlackBerry 以及 Nokia 的 Symbian 等。这些移动平台的开发环境和编程语言都不尽相同。同时,一个平台又有多个版本,例如 Android2.3 和 Android3.0 分别支持智能手机和平板电脑。正是由于这些多样性,使得移动应用的开发存在成本高、周期长和维护困难等问题。
Worklight 是 IBM 收购的一套用于移动应用开发和基础平台整合的企业级解决方案。它支持多种移动平台的本地应用开发,同时也支持基于 HTML5 和 JavaScript 的跨平台应用。
本文主要介绍 Worklight 的 RuntimeSkin 特性以及如何使用该特性开发针对不同移动终端的跨平台应用。
开发环境安装与配置
Worklight 提供的是一整套移动应用的开发环境,涵盖了从开发到集成,到管理、部署、监控行等软件开发生命周期的各个方面。它主要由四个部分组成,Worklight Studio、 Worklight Server、Device Runtime 和 Worklight Console:
Worklight Studio 是基于 Eclipse 的集成开发环境,用户可以很方便地创建、开发、部署和测试不同平台的本地应用或者混合型应用。 Worklight Server 是一个基于 Tomcat 的服务器,用于部署开发好的移动应用程序。同时它还提供适配器 (
Adapter) 组件来进行用户登录验证、后台数据交互、消息推送等企业级应用操作。 Device Runtime 是 Worklight SDK 中包含一个组件,它主要提供了可以调用移动平台本地资源的多种接口,开发者可以使用 JavaScript API, 操作系统本地库和第三方库来调用这些接口,充分利用了本地应用的
优点。 Worklight Console 可以让用户通过浏览器来监控、管理当前部署在 Worklight Server 上的应用程序和适配器组件。Worklight Console 同时还负责消息推送管理以及报表分析。
Worklight 开发环境的下载与安装步骤可以从 developerWorks IBM Worklight 学习资源上获得。
什么是运行时皮肤(Runtime Skin)
运行时皮肤是指 Worklight 的应用程序可以为已经创建好的手机平台环境(Worklight Environment)添加多个皮肤,每一个皮肤是平台环境的一个子集,所有的皮肤作为应用程序的一部分打包在安装文件中。当应用程序运行时会根据具体的移动设备动态地决定使用哪一个皮肤。运行时皮肤的应用场景有很多,比如不同的手机尺寸,不同的手机平台版本,是否支持 HTML5 等等。
下面我们以一个新闻浏览的应用程序为例,具体介绍如何应用 Worklight 的 Runtime Skin 特性。
创建 Worklight 工程和应用程序
我们创建一个 Worklight 工程。在 Eclipse 中选择 File->New->Worklight Project, 如图 1 所示。
图 1. 创建 Worklight 工程
输入工程名称 Mobile News。接着我们创建一个 Worklight 应用程序,选择 File->New->Worklight
Application,如图 2 所示。
图 2. 创建 Worklight 应用程序
在弹出的窗口中选择第一步新建的工程,
然后输入应用程序的名称 NewsApp,如图 3 所示。
图 3. 在工程中创建应用程序
创建完工程和应用程序以后,Worklight 会自动生成如下的目录结构,如图 4 所示。
图 4. 应用程序目录结构
我们看到在 apps 目录下包含刚刚创建的应用程序 NewsApp,初始情况下每一个应用程序会有一个 common 的运行时环境,它会被不同手机平台环境(例如 iOS, Android, BlackBerry 等)所共用。在 common 文件夹下有三个文件夹 css, images 和 js,分别存放了程序相关的 css 文件,图片和 JavaScript 文件。NewsApp.html 是程序自动创建的主 html 文件。