Skip to main content
Email Password   helpLost your password?

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

Target Audience

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

BREW Application Development Cycle

Merits of BREW Platform

DeMerits of BREW Platform

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

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:

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

History

You must Sign In to use this message board.
 
 
Per page   
 FirstPrevNext
GeneralGood Buddy !,Makes It happened in this website, Pin
noorullahmpf
4:05 17 Feb '09  
Questionerror BK1506 : cannot open file.... Pin
The Mummy 82
23:38 7 Sep '07  
GeneralGreat Article! Pin
r0bust_
15:08 12 Jul '07  
GeneralGood For Beginner Pin
Md Irshad
22:20 10 Jun '07  
GeneralCreating BREW applications using Visual Studio.NET Pin
VbManVzw
10:17 25 May '07  
GeneralRe: Creating BREW applications using Visual Studio.NET Pin
Girish NS
0:40 28 May '07  
GeneralA BIG thing you forgot Pin
lica
1:38 17 Nov '06  
GeneralRe: A BIG thing you forgot Pin
Airsource
13:32 28 Mar '07  
QuestionRe: A BIG thing you forgot Pin
The Mummy 82
23:34 7 Sep '07  
GeneralNice Little Article Pin
Sreekanth Muralidharan
22:43 13 Sep '06  
GeneralRe: Nice Little Article Pin
Girish NS
0:42 28 May '07  


Last Updated 13 Aug 2006 | Advertise | Privacy | Terms of Use | Copyright © CodeProject, 1999-2009