|
9#
楼主 |
发表于 2007-5-9 17:35:24
|
只看该作者
自己近段时间收集的brew资料,供参考
Introduction to BREW - a mobile handset application development platform
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
下续。。。 |
|