65.9K
CodeProject 正在变化。 阅读更多。
Home

BREW 入门 - 移动手机应用程序开发平台

2006年7月28日

CPOL

10分钟阅读

viewsIcon

90959

本文档提供BREW - 一个类似Symbian、Windows Smartphone等的移动手机应用开发平台的概述。

引言

众所周知,手机除了帮助我们管理联系人、待办事项列表等,还是与亲朋好友保持联系的绝佳方式。随着时间的推移,这些设备的功能日益丰富,催生了智能手机的出现,智能手机在提供电话功能的同时,还具备了个人数字助理(PDA)的功能。智能手机还允许安装新的应用程序。为了管理这些日益增长的功能列表,智能手机需要一个操作系统。目前市场上存在各种智能手机操作系统,如Symbian、Microsoft Windows Mobile、Palm OS等。BREW就属于这一类。

作为一名技术爱好者,我一直在探索BREW。我在网上找到了一些资源。但由于我是一个没有耐心的读者,并且缺乏电信领域的知识,我发现理解BREW的某些方面很困难。我也无法完全了解BREW的工作原理。因此,我不得不查阅各种资料来获得完整的图景。在这篇文章中,我将分享我为全面了解BREW工作原理而收集到的所有信息。首先,我将对BREW进行整体介绍,然后将重点介绍其开发方面。

目标

阅读完本文,您将了解:

  • 什么是应用程序开发平台?
  • BREW如何扮演移动手机应用开发平台的角色?
  • BREW与其他手机平台(如Windows Smartphone、Symbian等)的区别是什么?
  • 使用BREW开发移动手机应用程序的优点和缺点是什么?
  • BREW应用程序开发生命周期的各个阶段是什么?
  • 在BREW平台可以开发哪些类型的应用程序?
  • BREW应用程序的基本组成部分是什么,它们如何工作?
  • 如何设置开发环境以开始为BREW平台开发应用程序?
  • 在BREW中开发基本“Hello World”应用程序的步骤是什么?
  • 在哪里可以获取更多关于BREW平台的信息?

目标读者

  • 对移动手机应用开发感兴趣的人

背景

平台一词用于描述计算机的硬件或软件配置。就硬件配置而言,我们使用该术语来描述计算机的处理器架构。例如,Intel x86平台、PowerPC平台等。就软件配置而言,我们使用“平台”一词来描述计算机运行的操作系统。例如,Windows平台、Macintosh平台等。操作系统运行在机器硬件之上。因此,它们必须针对它们想要支持的不同硬件平台进行移植。

应用程序开发平台框架基本上是一组工具和库,使开发人员能够开发针对硬件或软件平台的应用程序。一些知名的应用程序开发平台,如Java、.NET框架,可以在各种软件平台或操作系统上运行和移植。BREW是一个应用程序开发平台或框架,它针对各种硬件平台进行移植。简而言之,与运行在操作系统之上的Java或.NET框架不同,BREW运行在设备的硬件层之上。

BREW概述

  • Wireless的二进制运行时环境的缩写。正如“二进制运行时”一词所暗示的那样,BREW运行在硬件平台之上,并可移植到不同的硬件平台。
  • QUALCOMM Internet Services(QIS,QUALCOMM的Wireless & Internet(QWI)部门)的产品。
  • 目前支持所有QUALCOMM手机硬件,但与其他应用程序开发平台一样,也可以移植到非QUALCOMM手机。
  • 可以与任何其他移动操作系统共存在手机中。
  • 尺寸方面,大约150k,远小于市场上大多数其他手机操作系统。
  • 对于电信领域人士来说,它被称为与空中接口无关,即它可以运行在CDMA或GSM/GPRS或UMTS手机上。但同样,目前它只运行在CDMA手机上。
  • 支持使用C、C++进行原生应用程序开发。也可以使用BREW平台的Java虚拟机(JVM)以Java开发应用程序。最近,IBM推出了一个适用于BREW的Java虚拟机
  • 手机制造商可以通过使用QUALCOMM提供的BREW移植工具包将BREW集成到他们的设备中。

BREW应用程序开发周期

  • 软件开发人员可以使用免费下载的BREW SDK以C/C++开发应用程序。
  • SDK附带一个名为BREW Emulator的应用程序(从3.0版本开始称为BREW Simulator)。该应用程序模拟BREW手机的外观和行为,可在开发过程中用于测试和调试BREW应用程序。
  • 要在BREW Emulator上执行的应用程序被编译成运行Emulator的操作系统的主流代码,并与兼容的x86 BREW运行时库链接。例如,如果BREW SDK安装在Windows机器上,要在BREW Emulator上执行的BREW应用程序将被编译成Windows主流代码,并与x86兼容的BREW运行时库链接。
  • 在应用程序通过Emulator彻底测试后,必须将其编译并链接成ARM二进制格式,才能在BREW手机上运行。为此,QUALCOMM提供了一个GNU交叉编译器,可以免费下载,以及RealView Compilation Tools for BREW,后者需要付费。
  • 与其他手机平台不同,BREW应用程序不能直接在BREW手机上进行测试。QUALCOMM实现了这一功能是为了安全起见,因为BREW对手机硬件拥有完全的控制权。
  • 在测试应用程序之前,必须对其进行数字签名。QUALCOMM仅向内容提供商和认证BREW开发者提供生成数字签名的工具。
  • 在对应用程序进行数字签名后,可以使用AppLoader工具通过USB或串行电缆将其上传到BREW手机。AppLoader工具是QUALCOMM提供的BREW测试和商业化工具的一部分,这些工具仅提供给认证BREW开发者
  • 应用程序经过彻底的内部测试后,必须提交给QUALCOMM进行TRUE BREW测试。同样,True BREW测试仅提供给认证BREW开发者
  • 应用程序通过True BREW测试后,可以提供给支持BREW手机的移动网络运营商,然后用户可以从运营商那里下载到他们的手机上。

BREW平台优点

  • 由于BREW直接运行在硬件层之上,与Java Mobile Edition等其他应用程序框架相比,应用程序执行速度更快。
  • BREW API在支持的手机之间比Java Mobile Edition API等其他应用程序框架更一致。
  • 由于BREW从2.0版本开始允许直接访问屏幕缓冲区,开发人员在创建游戏等图形密集型应用程序时拥有很大的控制权。
  • 手机制造商可以通过使用OEM和第三方软件供应商编写的BREW扩展来为已部署的BREW手机添加新功能和修复错误。BREW扩展的一些示例如Java虚拟机、游戏引擎等。

BREW平台缺点

  • 与其他手机平台不同,应用程序不能直接在BREW手机上进行测试。
  • 只有认证BREW开发者才能在手机上测试和部署应用程序。成为认证BREW开发者涉及一系列程序,这些程序不向个人免费开放。
  • 由于仿真和实际硬件环境的差异,BREW应用程序的测试和调试困难且繁琐。

BREW应用程序开发概念

BREW应用程序环境支持类似于Microsoft Windows、Macintosh和其他操作系统的事件驱动架构。在BREW上可以创建两种类型的应用程序:一种是Applet,另一种是Extension。Applet是具有用户界面和封装在类(如果存在)中的可重用代码的GUI应用程序。Extension是OEM和第三方软件供应商编写的可重用代码模块,用于在手机中添加附加功能。Extension的一些示例如Java虚拟机、游戏引擎等。Extension可以根据需要加载或卸载。

每个BREW应用程序由一个Module对象和一个或多个Applet和Class表示。每个Applet或Class都必须有一个唯一的32位标识符,称为Class ID。开发过程中可以使用虚拟Class ID。在应用程序在BREW手机上测试之前,必须插入唯一的Class ID。QUALCOMM提供了一个名为BREW ClassID Generator的Web工具,允许开发人员生成唯一的Class ID。请注意,此工具仅供认证BREW开发者使用。

每个BREW应用程序都关联一个相应的模块信息文件(MIF),该文件必须随应用程序一起打包。模块信息文件包含有关BREW应用程序的重要信息,例如:

  • 支持的类
  • 支持的Applet
  • Applet详细信息,如标题、图标等。
  • 应用程序每个Applet和Class的Class ID。
  • 供其他应用程序使用的已导出类。
应用程序的模块信息文件可以使用SDK附带的BREW MIF Editor工具生成。BREW应用程序的语言和设备特定数据可以存储在资源文件中,从而实现本地化。应用程序资源文件及其对应的头文件可以使用SDK附带的BREW Resource Editor工具生成。

BREW SDK概述

BREW SDK可以从QUALCOMM网站免费下载。QUALCOMM在PDF文档Starting with BREW中提供了安装SDK步骤的详细说明。SDK附带的用户指南文档也提供了详细信息,以及许多其他有用信息。

SDK为Microsoft Visual Studio 6.0提供了Appwizard插件,该插件可以生成BREW应用程序的骨架代码,从而方便开始应用程序开发。此插件从BREW SDK 1.1版本开始提供。SDK用户指南以及PDF文档Starting with BREW中也提供了使用Appwizard开发BREW应用程序的详细分步说明。

也可以使用Visual Studio.NET和Visual Studio 2005等其他开发环境来创建BREW应用程序。但开发人员必须手动链接SDK头文件和库来编译应用程序代码。QUALCOMM也提供了关于这些方面的详细说明文档。SDK还包含丰富的示例应用程序,对开发人员学习BREW开发的各个方面非常有帮助。

编写我们的第一个BREW应用程序

QUALCOMM已经提供了大量的相关文档。其中一些如下:

结论

我认为最好在这些信息处停止本文。我希望通过阅读这篇文章,大家能对BREW的工作方式有一个大概的了解,并产生进一步探索的愿望。当然,有些人也可能感到困倦、迷茫、生气、饥饿或茫然。也不能排除这种情况。阅读他人的文章时,我也有过这种感觉 :) 对于那些人,我恳请他们发送反馈,以便改进这篇文章。

资源

历史

  • 发布于2006年7月28日
  • 更新于2006年7月31日 - 一些拼写错误
  • 更新于2006年8月14日 - 添加了目标和受众部分以及更多链接
© . All rights reserved.