关注国内外最新的Web应用程序

2008年2月2日星期六

BREW、JAVA、.NET 三大平台之比较

http://games.sina.com.cn 2004-01-07 16:00 新浪游戏

 

       高通的BREW平台是一种为无线设备提供开放式标准平台的瘦应用程序执行环境,是无线应用程序开发、设备配置、应用程序发布以及计费和支付的完整端到端解决方案的一部分。完整的BREW解决方案包括面向开发者的BREW SDK (tm)(软件开发包)、面向设备制造商的BREW应用程序平台和移植工具以及由运营商控制和管理的BREW分发系统(BDS)。利用该系统,他们可以轻松地将开发者开发的应用程序投入市场并协调计费和支付过程。利用运营商基于BREW的服务,用户可以通过从运营商的应用程序下载服务器上无线下载应用程序来自定

义手持 
设备。

BREW是一种独立于空中接口的技术,可以运行在诸多网络中。但目前来讲,由于 CDMA2000 1X的技术在现有的技术标准中是在商业运行中最为稳定和成功,并经过多次验证。BREW在CDMA2000 1X网络中可以充分利用其高速的数据传输速率,为最终用户带来极具冲击力的用户体验。即:与芯片级电话功能的紧密集成,更高地展现声音和动画功能,用C/C++编写的应用程序,运行起来速度更快,BREW扩展技术支持用Java和Flash等制作的应用程序端对端的商业模式提供透明的计费和支付纪录,并可通达全球市场开发商,可以通过联通博路无线技术有限公司从高通和联通获得支持。

由于BREW平台是独立于空中接口的技术,所以BREW与任何网络的结合都非常平滑。同时,它又是一个端到端的解决方案,特别注重满足整个价值链的所有要求。BREW平台包括针对运营商的BREW分发系统,针对开发商的SDK(软件开发工具包),针对终端厂商的移植工具包,和BREW计费系统。BREW使中国联通能够为其用户提供不断丰富的应用。到目前为止,中国联通基于BREW平台所开发的商用程序包括: Adventure(环球历险记)、Any Flash (安凯软件)、 City Online(都市在线)、 E4E Stock(股票)、 Hit Submarine(决战四大洋)、 Instant Weather(天气快报)、 Mobi Escape(莫比大逃亡)、 Suc Esc(星际生存)、Yao Ming Basketball(姚明篮球)等。

为了应对移动数据的发展,推进无线电子商务等业务的发展,J2ME(Java 2 Micro Edition)即用于嵌入式系统的Java被引入无线领域。随着J2ME的应用,它为移动互联引入了一种新的模型,即允许手机可以从互联网上下载各种应用程序,并在手机创造可执行环境离线运行这些程序。由于定义了可执行程序下载的标准,并在手机上创立了可执行环境和程序开发语言,由此,在移动通信业第一次为软件开发商创造了巨大的商业机会,手机用户在得到丰富应用体验的同时,也大大提高了运营商的网络流量。

J2ME的出现实际上是Java技术的回归,作为Java 2平台的一部分,J2ME与J2SE、J2EE一道,为无线应用的客户端和服务器端建立了完整的开发、部署环境。由于专门针对多样化的嵌入设备和消费电子设备,J2ME的结构与传统的编程序语言和规范有很大的不同,它是由配置(Configuration)、概要(Profile)和可选包(Optional Package)三要素构成。J2ME技术由一个虚拟机和一组API组成,这组API适合于为消费和嵌入式电子设备提供经过剪裁的运行环境。J2ME主要有两种组件:配置(configuration)和概要(profile)。J2EE的一个关键优点是它能同时为多种连网的便携机、台式机或其他工作站和服务器提供服务,无论运行在这些客户机上的软件是Java applets 、独立的Java程序、HTML浏览器还是本地的应用程序,它都可以同时支持。利用J2ME,这些企业系统也可以直接与各种电子设备进行通信。

1999年,Sun公司将广为普及的Java技术架构进行了重新定义,J2ME作为Java技术在移动电话等小型设备的版本应运而生,它针对屏幕、电能和内存等资源有限的移动设备进行了优化和定义,为了解决无线设备多样化的矛盾,Sun依照各种设备的资源特性将J2ME技术架构分为Java Virtual Machine(JVM)、配置(configuration)和说明(profile)三层,然后再进一步细分,这使J2ME能够在每一类设备的限制下工作,而同时提供最低限度的Java语言功能性。

Microsoft(r) .NET 是Microsoft XML Web services平台。 XML Web services允许应用程序通过Internet进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。 Microsoft.NET平台提供创建XML Web services 并将这些服务集成在一起之所需。对个人用户的好处是无缝的、吸引人的体验。

从根本上讲,Microsoft (r) .NET是关于使技术为人们所用,而不是强制个人适应其计算机的限制。利用.NET,无论何时何地,您总能连接到您首选设备上的信息。利用.NET,您可以保护您的个人信息和企业数据,同时允许有您的授权的他人连接到这些信息。

.NET体验:.NET体验是相当个性化的,集成的最终用户计算交互,它们通过新型智能设备提供的连接的 XMLWeb 服务来实现。从技术层面上讲,.NET体验就是XML Web服务与(在适当时)本地应用程序代码的结合。

.NET框架:.NET框架是一个用于生成、部署和运行XML Web服务及其他应用程序的环境。它包含三个主要部分:公共语言运行库、框架类和ASP.NET。.NET框架压缩版是伴侣结构,它有一套编程接口,以供开发人员开发面向智能电话和PDA等移动设备的软件。

.NET平台:.NET平台是一组开发工具和操作系统集,用来生成、公开和消费XML Web服务,通过智能设备实现个性化的集成Web。它由四部分组成:.NET框架和 Visual Studio.NET ,服务器结构,构造块服务,智能设备软件.

Technorati 标签:

Brew 资料大全

原帖: http://www.kudev.net/bbs/thread-1957-1-1.html

 

什么是BREW?
http://www.kudev.net/bbs/thread-78-1-5.html

无线二进制运行环境-BREW
http://www.kudev.net/bbs/thread-1780-1-4.html

Starting Brew
http://www.kudev.net/bbs/thread-1122-1-5.html

BREW SDK入门篇
http://www.kudev.net/bbs/thread-1518-1-5.html

BREW新手入门
http://www.kudev.net/bbs/thread-1808-1-3.html

BREW究竟是什么-BREW本质之我见
http://www.kudev.net/bbs/thread-1822-1-2.html

从零开始创建 BREW? 应用程序
http://www.kudev.net/bbs/thread-1821-1-2.html

BREW 入门常识
http://www.kudev.net/bbs/thread-1820-1-2.html

解析BREW体系结构
http://www.kudev.net/bbs/thread-79-1-5.html

BREW高手之路-解析BREW学习过程
http://www.kudev.net/bbs/thread-894-1-5.html

BREW技术概览
http://www.kudev.net/bbs/thread-1781-1-4.html

BREW和J2ME的来源
http://www.kudev.net/bbs/thread-1519-1-5.html

BREW & J2ME:在差别中联合
http://www.kudev.net/bbs/thread-1517-1-5.html

BREW的事件处理
http://www.kudev.net/bbs/thread-1786-1-4.html

BREW开发--创建新的BREW应用程序
http://www.kudev.net/bbs/thread-1886-1-1.html

BREW开发--使用Applet和模块
http://www.kudev.net/bbs/thread-1885-1-1.html

BREW开发--BREW简介
http://www.kudev.net/bbs/thread-1877-1-1.html

BREW开发--工程管理(Makefile)基础
http://www.kudev.net/bbs/thread-1876-1-1.html

BREW开发—编译器基础
http://www.kudev.net/bbs/thread-1875-1-1.html

BREW-软件开发基础
http://www.kudev.net/bbs/thread-1869-1-1.html

BREW实现原理
http://www.kudev.net/bbs/thread-1868-1-1.html

Brew 硬件基础
http://www.kudev.net/bbs/thread-1866-1-1.html

dynamic app(module) access oem layer的机制介绍
http://www.kudev.net/bbs/thread-1850-1-1.html

基于COM思想实现AEEINTERFACE
http://www.kudev.net/bbs/thread-1848-1-1.html

BREW Applet框架
http://www.kudev.net/bbs/thread-1843-1-1.html

BREW SDK的Media程序分析
http://www.kudev.net/bbs/thread-1839-1-1.html

阅读mediaplayer源代码
http://www.kudev.net/bbs/thread-1827-1-2.html

如何删除目录?
http://www.kudev.net/bbs/thread-1836-1-2.html

使用BREW开发定位应用程序
http://www.kudev.net/bbs/thread-1835-1-2.html

sig文件
http://www.kudev.net/bbs/thread-1833-1-2.html

接口函数替换技术及其应用
http://www.kudev.net/bbs/thread-1832-1-2.html

深入BREW模块加载机制
http://www.kudev.net/bbs/thread-1831-1-2.html

深入BREW抽象接口机制
http://www.kudev.net/bbs/thread-1830-1-2.html

深入BREW消息处理机制
http://www.kudev.net/bbs/thread-1834-1-2.html

如何用BREW短消息启动BREW应用程序
http://www.kudev.net/bbs/thread-1828-1-2.html

如何利用AEEINTERFACE和QINTERFACE构造自己的类
http://www.kudev.net/bbs/thread-1826-1-2.html

开发BREW扩展类
http://www.kudev.net/bbs/thread-1825-1-2.html

BREW平台Callback分析
http://www.kudev.net/bbs/thread-1824-1-2.html

BREW回调技术分析
http://www.kudev.net/bbs/thread-1803-1-3.html

BREW资源问题总结
http://www.kudev.net/bbs/thread-1823-1-2.html

BREW常见问题解答
http://www.kudev.net/bbs/thread-1801-1-2.html

Brew常见错误整理
http://www.kudev.net/bbs/thread-1796-1-3.html

BREW - 声音相关问题
http://www.kudev.net/bbs/thread-1819-1-2.html

BREW中 - 显示和图像
http://www.kudev.net/bbs/thread-1818-1-2.html

BREW终端下通过http协议访问jsp的编码问题
http://www.kudev.net/bbs/thread-1792-1-3.html

Brew线程和ISource_Readable回调协同工作的一段示例代码
http://www.kudev.net/bbs/thread-1795-1-3.html

BREW接口的继承和多态
http://www.kudev.net/bbs/thread-1799-1-3.html

在BREW中使用Gzip压缩来减少应用程序包的大小
http://www.kudev.net/bbs/thread-1800-1-3.html

EVT_APP_MESSAGE消息的处理
http://www.kudev.net/bbs/thread-1802-1-3.html

在 BREW 中处理 SMS
http://www.kudev.net/bbs/thread-1804-1-3.html

BREW的资源文件概述及问题
http://www.kudev.net/bbs/thread-1809-1-3.html

BREW-IThread接口 ( BREW Client 3.1 )
http://www.kudev.net/bbs/thread-1810-1-3.html

Cooperative Multithreading in BREW with IThread
http://www.kudev.net/bbs/thread-1811-1-3.html

BREW AMR 编译错误 L6248E
http://www.kudev.net/bbs/thread-1812-1-3.html

BREW应用移植的体会
http://www.kudev.net/bbs/thread-1813-1-3.html

ISHELL_SendEvent() 和 ISHELL_PostEvent() 有什么区别
http://www.kudev.net/bbs/thread-1814-1-3.html

创建 BREW 应用程序的方法
http://www.kudev.net/bbs/thread-1815-1-3.html

一定时间后延时变长问题
http://www.kudev.net/bbs/thread-1816-1-3.html

实现一个简单的图形菜单
http://www.kudev.net/bbs/thread-1791-1-4.html

显示程序使用最大内存
http://www.kudev.net/bbs/thread-1790-1-4.html

基于BREW的mod文件压缩技术
http://www.kudev.net/bbs/thread-1789-1-4.html

BREW应用的c++实现注意点
http://www.kudev.net/bbs/thread-1785-1-4.html

Brew知识简表
http://www.kudev.net/bbs/thread-1784-1-4.html

CDMA增值业务平台BREW的研究与应用
http://www.kudev.net/bbs/thread-1783-1-4.html

BREW的全方位盈利之道
http://www.kudev.net/bbs/thread-1782-1-4.html

中止和恢复应用程序
http://www.kudev.net/bbs/thread-1593-1-5.html

BREW网络和套接字指导原则
http://www.kudev.net/bbs/thread-1525-1-5.html

构建可移植 BREW 应用程序的方法
http://www.kudev.net/bbs/thread-1817-1-2.html

构建可下载的 BREW 应用程序的方法
http://www.kudev.net/bbs/thread-1523-1-5.html

用 BREW 绘制预定义位图的方法
http://www.kudev.net/bbs/thread-1522-1-5.html

在 BREW 小程序中构建对话框的方法
http://www.kudev.net/bbs/thread-1521-1-5.html

CDMA增值业务平台BREW的研究与应用
http://www.kudev.net/bbs/thread-1520-1-5.html

 

Technorati 标签:

Introduction to BREW - a mobile handset application development platform

From xiangxiangouhongyuan的专栏

Introduction

As we know, Mobile phones are a wonderful means for communicating with our dear ones in addition to helping us to maintain our contact lists, to do lists etc. As time passed with additional features on these devices piling they made way for Smartphones which in addition to providing phone functionality also provided the functionality of a Personal Digital Assistant (PDA). A Smartphone also allows new applications to be installed on it. To manage these ever increasing list of functionalities, a Smartphone needs a operating system. Currently there are various smartphone operating systems in the market like Symbian, Microsoft Windows Mobile, Palm OS etc. BREW comes in this category.

As a technology hobbyist, I have been exploring BREW for sometime. As such I found resources in the web. But being a impatient reader and lacking in telecom domain knowledge, I found it difficult to understand some aspects of BREW. I also couldn't get the full picture of how BREW works. As a result, I have to look at various sources from which I got a full picture. In this article, I'm just sharing all the information I accumulated to get a full picture of how BREW works. First I will give a overall introduction of BREW and after that I will concentrate on giving introduction to developmental aspects of it.
Objective

At the end of the article you will know
What is a application development platform ?
How does BREW fit in to the role as a application development platform for Mobile Handsets?
What makes BREW different from other handset platforms like Windows Smartphone, Symbian etc?
What are the merits and demerits of using BREW to develop applications for Mobile Handsets?
What are the various phases of BREW application development life cycle?
What type of applications can be developed in BREW platform?
What are the basic components of a BREW application and how does it work?
How to setup a development environment to start developing applications for BREW platform?
What are the steps to develop a basic 'Hello World' application in BREW?
Where can I get more information about BREW platform?
Target Audience
People interested in Mobile handset application development
Background

The term Platform is used to describe a hardware or software configuration of a computer. In case of hardware configuration we used the term to depicit the processor architecture of the computer. Examples being Intel x86 platform, PowerPC platform etc. In case of software configurations, we use the term 'platform' to depicit the operating system the computer is running. Examples being windows platform, Macintosh platform etc. Operating systems sit on top of the machine hardware. So they must be ported for different hardware platforms which they want to support.

An Application Development Platform or Framework is basically a collection of tools and libraries which enable developers to develop application targetting a hardware of software platform. Some of the well known application development platforms like Java, .NET framework target and get ported on various software platforms or operating systems. BREW is a application development platform or framework which targets and get ported on various hardware platforms. In short unlike Java or .NET framework which sits on top of operating systems, BREW sits on top of hardware layer of the device.
BREW Overview
stands for Binary Runtime Environment for Wireless. As the term 'Binary Runtime' suggests, BREW runs on top of hardware platform and can be ported to different hardware platforms.
Product of QUALCOMM Internet Services (QIS, a division of Qualcomm Wireless & Internet (QWI) group of QUALCOMM
Currently supported on all QUALCOMM handset hardware but like other application development platforms, can be ported to non-QUALCOMM Handsets
Can co-exist in a handset with any other mobile operating system
Size wise, is about 150k much smaller than most of other handset operating systems available in the market
To the telecom domain guys, it is said to be air interface independent ie it can run on CDMA or GSM/GPRS or UMTS handsets. But again currently it is running only on CDMA handsets
Enables native application development in C,C++. Applications can also be developed in Java using a Java Virtual Machine (JVM) developed for BREW platform. Recently, IBM has come up with a Java Virtual Machine for BREW
Handset manufacturers can integrate BREW into their device by using the BREW Porting kit provided by QUALCOMM
BREW Application Development Cycle
Software developers can develop applications in C/C++ using the freely downloadable BREW SDK
The SDK comes with a application called BREW Emulator (known as BREW Simulator from version 3.0). This application simulates the look and behavior of a BREW handset device and can be used to test and debug BREW applications during development process.
Applications to be executed on BREW Emulator are compiled to native code of the operating system on which the Emulator is running and linked with a compatible x86 BREW runtime library. For instance, if BREW SDK is installed in a windows machine, BREW applications to be executed on BREW Emulator are compiled to windows native code and linked with a x86 compatible BREW runtime library
After the application has been tested thoroughtly with Emulator, it has to be compiled and link into ARM binary form to run in BREW handset. For that QUALCOMM provides a GNU Cross compiler which can be freely downloaded and RealView Compilation Tools for BREW which is available for a fee
Unlike other mobile handset platforms, BREW applications cannot be directly tested on BREW handsets. QUALCOMM has implemented this feature for reasons of security as BREW gives complete control over handset's hardware
Before testing the applications, they should be digitally signed. QUALCOMM provides tools for generating digital signatures only to content providers and Authenticated BREW Developers
After digitally signing the applications, they can be uploaded to a BREW handset using a USB or serial cable using a tool called AppLoader. The AppLoader tool is part of the BREW Testing and Commercialization Utilities provided by QUALCOMM which are available only to BREW Authenticated Developers
Once the application has been thoroughly internally tested, it must be submitted to QUALCOMM for TRUE BREW Testing. Again True BREW Testing is available only for BREW Authenticated developers
After the application passes True BREW testing, it may be offered to Mobile Network operators supporting BREW handsets from which it can be download by subscribers to their handsets
Merits of BREW Platform
Since BREW runs directly on top of hardware layer, application execution is fast when compared to other application frameworks like Java Mobile Edition.
BREW API is consistent across supported handsets than other application frameworks like Java Mobile Edition API
Since BREW from version 2.0 allows direct access to screen buffer, developers have lot of control while creating Graphics intensive applications like Games
Handset manufacturers can add new features and fix bugs over-the-air to already deployed BREW handsets by using BREW extensions. BREW extensions are additional code modules written by OEMs and third party software vendors to include additional functionalities in the handsets. Some Examples for BREW extensions are Java Virtual Machine, Game engines etc.
DeMerits of BREW Platform
Unlike other handset platforms, applications cannot be directly tested on BREW handsets
Only BREW Authenticated Developers can test and deploy applications in handsets. Becoming a BREW Authenticated Developer involves a set of procedures which is not freely available for individuals
Testing and debugging of BREW applications difficult and cumbersome due to differences in emulation and actual hardware environments
BREW Application Development Concepts

BREW application environment supports a event driven architecture similar to Microsoft Windows, Macintosh and other opeating systems. There are two types of applications which can be created on BREW. One is Applet and the other is Extension. An Applet is a GUI application having a user interface and reusable code encapsulated in one or more classes if any. An extension is a reusable code module written by OEMs and third party software vendors to include additional functionalities in the handsets. Some examples for extensions are Java Virtual Machine, Game engines etc.Extensions can be loaded or unloaded on needed basis.

Each BREW application is represented by a single Module object and one or more applets and classes. Each Applet or Class must have a unique 32 bit identifier known as a Class ID. Dummy Class IDs can be used during development process. Unique Class IDs have to be inserted before the application is tested in the BREW handset. QUALCOMM provides a Web based tool called BREW ClassID Generator which allows developers to generate unique Class IDs. Note that this tool is only available to BREW Authenticated Developers.

Each BREW application is associated with a corresponding Module Information File (MIF)which is required to ship along with it. The Module Information File contains vital information about a BREW application like
Supported classes
Supported applets
Applet details like title, icon etc
Class IDs for each of application's applets and classes
Classes exported for use by other applications
The Module Information file for application can be generated using BREW MIF Editor tool which comes with SDK. Language and device specific data for BREW applications can be stored in resource files making localization possible. The application resource files and its corresponding headers can be generated using BREW Resource Editor tool which comes with SDK.

BREW SDK overview

BREW SDK is can be downloaded for free from QUALCOMM site. QUALCOMM has provided detailed instructions on the steps to install the SDK on the pdf document Starting with BREW. The user guide document which comes with the SDK also gives detailed information on the same in addition to many other useful details.

The SDK provides a appwizard addin for Microsoft Visual Studio 6.0 which generates skeletal code for a BREW application making it easy to get started with application development. This addin is available from BREW SDK 1.1 version onwards. Again step by step instructions on using the appwizard to develop a BREW application has been given in the SDK user guide as well as in the pdf document Starting with BREW.

Other development environments like Visual Studio.NET and Visual Studio 2005 can be used to create BREW applications. But developers have manually link the SDK headers and libraries to compile the application code. Again detailed instructions documents are provided by QUALCOMM on this aspects. The SDK also includes a rich set of example application which are very helpful for developers to learn various aspects of BREW development.
Writing our first BREW application

Again lots of documentation in this aspect has been already provided by QUALCOMM. Some of them are as follows:
Creating BREW application from scratch
Starting with BREW
Creating BREW applications using Visual Studio.NET
Creating BREW applications with Visual Studio 2005

Conclusion

I thought it would be better for stop this article with these information. I hope by reading this article you guys would have got a general picture of how BREW works and a eagerness to explore it further. On the contrary some of you would also be feeling sleepy or lost or angry or hungry or blank by now. Can't rule out that also. I have also felt like that after reading other's articles :) To those people, I would request them to send their feedback on suggestions to improve this article.
Resources
How smartphone works
How cell phone works
How telephone works
Application Specific Integrated Circuits
BREW knowledge base
Writing BREW extensions
BREW application development step by step guide
Ten Developer commandments of BREW
History
published on 28/07/2006
updated on 31/07/2006 - some typing mistakes
updated on 14/08/2006 - adding objectives and target audience sections and some more links

Technorati 标签:

Google Android Podcast

Podcast URL:http://google-developer-podcast.googlecode.com/files/googledev012.mp3

How their Be and PalmSource experience were applied to Google Android
Some history behind the project
The high level architecture of Android. For example, how Linux processes handle the VM and manage security (the VM doesn't handle it)
Details on the Dalvik VM and how it is optimized for small devices
The architecture: From Intents to Views to Permissions and more
How XML is slow, but the tools convert the XML to a nicer format for you
The tooling and steps for building an application on Android
How so many objects have a URL, and how the environment is like a mini-SOA (Services across processes instead of across the network)
Thoughts on how you program for small devices, and things to watch out for if you move from the desktop
The control, or lack of control that you have over the application lifecycle
"Everything you do drains the battery"
The thread story: they exist, you don't have to deal with them if you don't want to, and the UI
Using XMPP for messaging

Technorati 标签:

BREW简介

immyyang发表于 2007年10月27日 12:21:00

BREW是无线二进制运行环境(Binary Runtime Environment for Wireless)的缩写,是美国高通公司(Qualcomm)于2001年推出的基于CDMA网络“无线互联网发射平台” 上增值业务开发运行的基本平台,它是一套全面完整的实现端到端的无线应用开发、设备配置、应用分发、计费和支付的解决方案。

BREW提供一个高效、低成本、可扩展和熟悉的应用程序执行环境(AEE), 着重开发可无缝植入任何实际手持设备的应用程序。制造商和开发人员可以随时对运行环境进行扩展,提供应用程序需要的各种附加性能模块,如"无线互联网发射平台"中包含的多媒体、多种连接方式、位置服务、用户界面、网络等功能套件。

从BREW这四个字母中我们可以看到BREW的基本特性:

l        B(Binary)说明brew的执行文件是二进制代码,是可以直接在二进制环境下执行的二进制指令流,而不是想Java一样的中间解释程序。这体现了BREW应用程序的高效性,可以直接在硬件层上运行,而不需要经过中间解释。

l        R(Runtime)说明brew只有当应用程序需要运行的时候才加载,是动态加载的机制。这也表明了BREW是按需加载,和以前的一次性加载相比大大节约了系统资源。

l        E(Environment)代表BREW应用程序的环境,这里的环境不仅仅包括客户端的应用程序执行环境(AEE环境),还包括了BREW应用程序服务器端的环境,总的来说就是指BREW应用程序在整个系统中的生存环境。

l        W(Wireless)代表BREW技术是专门针对无线通信设备而设计的,体现了BREW的简洁和高效。

BREW的整套解决方案由运行平台、开发平台和服务器三部分组成:

1、BREW的运行平台

BREW运行平台是指可以运行BREW应用程序的移动通讯设备上的BREW应用程序执行环境(AEE),它运行于基于CDMA技术的移动设备之上,是建立在特定用途集成电路(ASIC)和应用软件之间的一个中间层,这个中间层很薄,大概仅150K左右。应用软件通过BREW访问设备的芯片以及空中接口等,而不需要获知具体硬件的细节。这个执行环境高效、低成本且可扩展,与建立在对内存空间、处理器速度和相关硬件有较高要求的移动设备操作系统上的高端产品不同,着重实现可无缝植入任何实际移动设备的应用程序,因此BREW可以在的较低配置的设备上运行。也就是说,BREW的AEE在传统ASIC电路以及高端移动设备操作系统之间找到了一个平衡点,既提供了类似于操作系统的功能环境,可以通过服务提供商下载指定类型的应用程序来使用,以达到功能扩展的目的,又没有手机操作系统所需的苛刻的硬件配置要求。图1-1展示了应用于无线设备的软件的构想层次。

2、BREW 开发平台

BREW开发平台就是我们使用的BREW SDK,它是开发者开发基于BREW的应用时所需要面对的开发包,包含了开发BREW应用程序所需使用的一系列工具、例程和文档等。BREW SDK与微软的Visual Studio开发平台紧密配合,在Visual Studio 6/.NET等开发平台下可以完成开发、调试以及交叉编译生成二进制程序等一系列的任务,再通过SDK提供的工具实现程序在移动设备上的装载、在线调试等。

3、BREW 服务平台

BREW服务平台就是指BREW发布系统(BDS),它是发布BREW应用供用户使用的运营商所使用的一套完整系统。这一部分由高通提供给运营商,运营商负责对各类发布的应用进行分类管理、计费管理等,其核心是ADS(Application Download Server)服务器。下面来看看BDS系统的内部结构,如图1-2:

图中虚线左半部分属于由高通公司统一控制的部分,右半部分属于运营商控制部分。通常应用程序的开发者提交应用程序给高通公司,然后进入整个BDS系统的处理流程。首先应用程序进入测试系统,需要通过一个叫做True BREW的测试,之后进入认证系统进行应用程序的注册,然后将应用程序放置到BREW应用程序的管理系统中。最后,应用程序的开发者将通过BREW的计费系统,根据应用程序的下载次数获得报酬。在BREW设备的用户端,通过与运营商的ADS服务器联系,获得应用程序,同时支付相关的下载费用。系统会通过运营商事务处理系统和BREW事务处理系统的联系支付相关的下载费用给应用程序的开发者。这样就完成了整个BREW价值链之间的连接,BREW的整个生态环境通过BDS系统得以维持。

 

4、BREW系统各部分间的关系

BREW系统各个部分之间的关系如图1-3所示:

图中Mobile Shop是BREW设备上负责应用程序下载的程序,它就像一个销售BREW应用程序的商店,用户可以在商店里自由的浏览应用程序的信息并下载。而Application Manager则是一个负责管理所下载应用程序的管理器。这两部分其实就是两个特殊的BREW应用程序。通常应用程序开发者使用BREW SDK开发应用程序并提交到BDS进行测试认证,认证通过的应用被放在应用程序下载服务器(ADS)中。BREW设备的使用者通过Mobile Shop来获得可下载列表,通过无线网络下载感兴趣的应用程序并支付相应的费用。

BREW 产业链

BREW 产业链共有四个主体:开发商、运营商、设备制造商和用户,它们和BREW解决方案的三个部分有着对应的关系,如图1-4所示:

开发者:BREW 经过专门设计,开发者可以使用它以所选的任何语言进行编程。本地 BREW 应用程序可以采用 C/C++、Java和XML进行编写。因为BREW可以支持虚拟机 (VM) 和微型浏览器,所以也支持根据这些规范编写的应用程序和内容。BREW 结构便于第三方扩展编程,它对第三方扩展是开放的,即使没有无线技术背景的开发者也可以编写无线应用程序。最重要的是,BREW 是无线开发者可用的唯一真正、完整的完全集成的端到端解决方案。

运营商:没有人怀疑数据在无线行业的未来将发挥的作用。采用 BREW,运营商支持语音服务项目,使其产品和服务脱颖而出并增加按用户计算的平均收益。BREW 在中国推出仅三年多时间,正在发展成为希望拓展新服务、扩大现有服务范围、开发自定义应用程序和利用现有大市场的运营商选择的技术和商业平台。它最省力,不需要过去开拓具有竞争力的服务项目所需的高额成本。BREW 解决方案正在通过诸多独特的数据应用程序和服务逐渐取得新的收益。

用户:BREW 可以让最终用户仅仅把自己需要的应用程序安装到手持设备上。用户只需按几个按钮,即可从众多的应用程序中进行选择,选择支付方式并将这些应用程序无线下载到设备中。

设备制造商:以前将应用程序集成到手持设备将拉长手持设备面市时间,BREW 解决了这个问题。BREW 通过在多个手持设备型号上——甚至是在最便宜的大众化电话上部署使用 BREW 的应用程序,从而降低了制造商的软件开发成本。现在,制造商可以很轻松地使采用自定义 BREW 扩展和自己预装 BREW 应用程序的产品脱颖而出。此外设备制造商还可以通过支持BREW来提升设备的价值,从而提升利润空间。
BREW的特点

作为移动应用开发平台,BREW特点鲜明,自成体系,下面总结一下其特点所在:

l        前面提到BREW执行环境是建立在ASIC和应用软件之间的中间薄层,薄是BREW最大的特点之一。BREW比任何移动设备操作系统都要小很多,这个特点也促使移动设备可以以很低的成本实现BREW,特别适合在低端设备上提供BREW的支持。

l        轻巧的体积决定了BREW层实现的精简性,BREW没有冗长的无用代码,全面优化了实现,可以说全部是浓缩的精华,这促使它有极高的运行效率。

l        高通为BREW定义了可扩展的接口,第三方可以为BREW编写各种不同功能的扩展。开发者通过使用扩展可以实现功能模块的复用,加快开发速度,节省研发投入。

l        BREW为运营商和用户提供了端到端的发布平台。当用户购买应用程序时,应用程序通过无线网络传送到用户的手机里,而费用则加在用户的电话费上。BREW平台将处理必要的帐单,维护用户和提供商之间的安全交易。

l        BREW应用程序环境支持人们熟悉的类似于Microsoft Windows、 Macintosh或UNIX X-Windows的事件驱动结构。

l        BREW可以有效地利用移动设备的RAM 和ROM,其使用的对象仅在必要时加载或卸载。

l        本地化BREW小程序非常方便,所有文本按Unicode处理,并以所选语言可支持的最有效的方式储存。

l        BREW对基本的电话和无线网络运行提供保护,并且通过开发者认证,应用程序最终测试等手段,最大限度地保持用户数据及设备的安全。

Technorati 标签:

标签分类