8 February 2011
您应该熟悉 Adobe AIR 应用程序的开发方法。
全部
本文将介绍关于RIM BlackBerry PlayBook、Adobe AIR与Adobe Flash Player运行环境、相关SDK与工具选择、BlackBerry生态系统的一些基本概念,以及它们是如何结合在一起的。您将更好地理解什么是我所说的 "与众不同的PlayBook"——是什么使PlayBook与其他设备不同。作为一个平台,PlayBook给开发人员提供许多难得的机会,本文将帮助您发现和利用这些机会。
BlackBerry PlayBook是由Research In Motion[RIM]生产的一个平板电脑设备。PlayBook运行BlackBerry Tablet OS,这是基于RIM子公司QNX的QNX OS开发的操作系统。
说明:目前PlayBook和BlackBerry Tablet OS仍然处于测试阶段,计划将在2011年上半年正式发布。本文内容是相对于2011年2月之前公开的信息,可能与实际发布特性和功能有所差别。
Adobe AIR是一个您能够用来开发桌面电脑、TV及其他设备独立应用程序的运行环境。与Adobe Flash Player配合,它能够为开发人员提供开发超级炫丽的多屏幕应用程序的独特平台。PlayBook第一个与众不同的方面就在于它的设备与AIR的集成程度上。PlayBook将AIR整合到操作系统层。AIR与核心的QNX OS之间实现了紧密的整合,许多原生PlayBook应用程序都可以运行在AIR上。例如,照相原生UI、原生媒体播放器和设置面板等都是AIR应用程序。当然,在PlayBook上还有其他开发应用程序的方法,本文将在后面对它们进行介绍。但是,PlayBook的许多应用程序都基于AIR开发的这样一个事实使它变得与众不同。
RIM团队给开发人员提供了与进行原生PlayBook应用程序开发相同的组件。这种基于ActionScript组件集称为QNX组件库。 QNX组件属于BlackBerry Tablet OS SDK for Adobe AIR。这意味着,作为一名开发人员,您可以使用与原生PlayBook应用程序所使用组件相同的组件。QNX组件已经专门针对PlayBook和触摸屏交互进行了优化。BlackBerry Tablet OS SDK for Adobe AIR也包括一些命令行工具,可以进行PlayBook[.bar]应用程序构建、打包和调试,并将它部署到PlayBook模拟器或设备上。
在底层,AIR和Flash Player负责运行SWF文件,即通常所谓的Flash或AIR应用程序。要创建一个SWF文件,我们需要将ActionScript编译为字节码,然后由AIR或Flash Player在运行时进行解析。Flex是一个ActionScript类框架,它可以帮助开发人员开发富体验应用程序。Flex SDK也允许您使用MXML开发应用程序,而MXML是一种简化基于布局和视图开发的声明性标记语言。最后,Flex和MXML会被转换为 ActionScript,然后编译到一个SWF文件中。
QNX组件库和Flex都提供了一组UI组件。Flex框架也提供了一些特性和支持类来满足各种各样的应用程序开发需要,如CSS样式、绑定、模块和基于FXG的皮肤设置。Flex已经发布好几年了,并且被应用于全世界许多关键任务应用程序中。通过使用Flex SDL "Hero"和FlashBuilder "Burrito",开发人员就能够创建专门针对设备优化的应用程序[见图 1]。
QNX组件和Flex SDK "Hero"在PlayBook都能很好地运行。虽然在决定使用哪一种框架时需要考虑的因素有很多,但是记住它对设备和PlayBook触摸屏都进行了优化。作为PlayBook开发生态系统的一部分,BlackBerry还提供了一个同时支持Flash Builder 4和Flash Buider "Burrito"的BlackBerry Tablet OS插件。使用这个插件,您就可以在Flash Builder上对应用程序进行打包和调试,以及将它部署到PlayBook模拟器或设备上。在Run Configurations对话窗口中,您可以指定目标平台,以及是否希望在桌面电脑或实际设备上运行您的应用程序[见图 2]。
通过使用Flash Builder "Burrito",您可以创建Flex移动项目和ActionScript移动项目。这两种移动项目都允许您指定BlackBerry Tablet OS平台作为开发目标平台,并且允许您使用QNX库来开发应用程序。虽然QNX组件不能直接在Flex中使用,但是有一些方法可以使它们整合在一起。更多关于这方面的信息,请访问BlackBerry论坛的相关主题,因为这已经超出了本文范围。
PlayBook的配置表明RIM打算在平板电脑领域取得领先位置。PlayBook具有许多强大且诱人的硬件特性:
除了这些硬件特性,QNXOS还提供了以下特性:
PlayBook的应用程序开发方法有很多。您所采用的方法很可能取决于您的开发背景。例如,一个Flex开发人员所采用的方法可能与 BlackBerry开发人员所采用的方法不同。BlackBerry为他们现有开发人员群提供了使用WebWorks和Java集成[确切的Java SDK和明细还没有确定]的方法。BlackBerry Tablet OS SDK for Adobe AIR是BlackBerry平板电脑提供的第一个SDK,它包含了Flash Builder工具集成。本文后面将对每一种开发SDK的明细进行介绍。
这些方法有一个共同点:它们都使用一个模拟PlayBook设备的VMware镜像。BlackBerry在它的BlackBerry Tablet OS SDK下载中同时提供这个BlackBerry PlayBook模拟器。通过使用这个模拟器,您不需要真实设备就可以运行您开发的应用程序。当然,肯定有一些特性在VMware镜像上是不支持的,但是拥有一个完整的操作系统镜像是与其他只提供模拟器或完全没有模拟环境的移动设备很不一样的。PlayBook模拟器和设备都使用一个IP地址在网络上部署和调试应用程序。同步或调试您的应用程序时不需要网线。
当您完成应用程序开发之后,您将希望用一种高效的方法来发布它。PlayBook应用程序将会通过PlayBook上的App World应用程序发布。App World应用程序及其他BlackBerry服务可以实现一些收益机会,如商场销售、广告和应用程序内支付。
BlackBerry App World是运行在BlackBerry及PlayBook设备上的官方应用程序商场。目前,App World已开始接受PlayBook应用程序提交。这个商场可以在70个国家中使用,支持6种不同的语言。最终用户可以使用一个BlackBerry ID、旅行支票或信用卡购买应用程序。开发人员将分享70%的收益。要参与App World及其他BlackBerry服务,开发人员必须注册成为一个供应商。作为供应商,您可以访问下面介绍的其他BlackBerry服务。
BlackBerry支付服务提供了通过应用程序销售商品的API。这其中包括艺术品、电子书、游戏点卡、个性定制、视频流媒体或其他动态内容。要销售数字商品给应用程序用户,供应商首先必须通过供应商门户网站注册每一个数字商品。开发人员使用应用程序内的API连接支付服务和发出支付请求。然后用户会在一个PlayBook特有对话窗口中被提示购买该数字商品。目前BlackBerry Tablet OS SDK for Adobe AIR提供了用于测试应用程序内销售相关的各种购买/非购买用例的支付服务API。关于目前Tablet OS SDK for Adobe AIR API的示例,请参考我的一篇关于这方面的博客:在PlayBook中通过Adobe AIR使用BlackBerry支付服务。
BlackBerry向供应商提供了通过简短代码将广告添加到他们的应用程序上的功能。这个服务的API还没有发布,但是RIM已经宣布将来会发布这个API。BlackBerry提供了一个供应商管理门户网站,它可以简化在不修改应用程序代码的前提下实现不同广告网络的选择和修改。这样,通过一些示例API调用实现了应用程序内部的多网络广告投放。这个服务的60%收益将划归供应商所有。
分析对于最大化收益和优化应用程序体验而言是非常重要的。BlackBerry与Webtrends合作向供应商提供了解用户是如何使用他们的应用程序的功能。供应商可以跟踪应用程序使用、使用频率、用户忠诚度,甚至包括个人屏幕和特性访问等。这个服务的API也还没有正式发布。
BlackBerry Tablet OS SDK for Adobe AIR的一个突出特点是它扩展了实现PlayBook专有特性的AIR API。例如,作为开发人员,您可以通过qnx.system.Device类访问设备专有的信息,包括主板序列号[BSN]、硬件号、供应商号、电池水平、电池状态、设备PIN和SCM管理包。您可以使用qnx.system.QNXApplication类来监听斜向下滑动手势或在应用程序内显示辅助导航栏或快捷菜单。qnx.media包包含了媒体播放类,包括硬件加速播放和所有PlayBook支持编码方式的播放。 qnx.media.QNXStageWebView类扩展了在AIR中查看HTML的功能,它提供了直接控制Web视图的接口。
上面提到的支付服务也扩展了SDK API。调用PlayBook通知系统和C/C++应用程序的API也在计划中。这里只介绍了一些API概况;并不是一个详尽的清单。更详细信息,请参考BlackBerry Tablet OS SDK for Adobe AIR API Reference。
除了主要的BlackBerry Tablet OS SDK for Adobe AIR,PlayBook还支持其他一些开发应用程序的SDK。按照PlayBook目前的规划,这些SDK将支持浏览器[HTML5和Flash Player 10.1]、BlackBerry WebWorks和原生C/C++的应用程序开发。
PlayBook所使用的WebKit源于BlackBerry 6 WebKit浏览器,它带有HTML5和CSS3的增强支持。除了这个HTML引擎,PlayBook浏览器还支持Flash Player 10.1,这使开发人员可以更容易地在PlayBook浏览器上重用他们现有的Web游戏或内容。PlayBook浏览器在Web标准测试上表现优异 —— 请参考"硬件特点"这一节内容。它也改进了JavaScript、触摸事件处理和数据处理的性能。
BlackBerry WebWorks使开发人员能够使用现代Web技术来开发可以完全利用BlackBerry平台的BlackBerry应用程序[见图 3]。通过使用BlackBerry WebWorks工具,开发人员可以提高与BlackBerry设备交互的BlackBerry应用程序的开发效率。
基于支持BlackBerry 6设备的WebWorks开发的应用程序经过很小的修改就可以运行在PlayBook上。开发人员目前可以下载WebWorks SDK for Tablet OS for PlayBook,然后在模拟器上测试应用程序。
原生SDK使用C/C++开发环境,并提供了一些底层特性的访问,如OpenGL 2.0、网络和数据存储。BlackBerry提供了集成现有QNX Momentics SDK和工具套件的工具。这个SDK的目标用户是游戏开发人员,但是其他开发人员也可以使用原生SDK来开发应用程序,与他们的其他PlayBook应用程序一起为用户提供服务。例如,一个AIR应用程序可以使用一个原生SDK开发的应用程序作为处理性能密集型程序的扩展。
说明:关于采用原生SDK开发的应用程序可以如何用于扩展AIR应用程序的确切信息要等到原生SDK发布之后才会发布。
BlackBerry Tablet OS SDK for Adobe AIR和Flash Builder都将继续改进设备的AIR应用程序开发流程。请一定要关注后续的更新。
同时,要在Adobe Developer Connection和BlackBerry PlayBook官方网站上浏览更多的BlackBerry主题页面。最新的信息,请访问BlackBerry开发者论坛或者我的博客网站上的BlackBerry PlayBook博客文章。