Introduction to BREW - a mobile handset application development platform
Introduction
We are all aware that Mobile phones are a perfect means of communication with other people along with helping us to maintain our contact lists, to do lists etc. With time additional features on these devices turned them into Smartphones which besides providing phone functionality also acted as a Personal Digital Assistant. A Smartphone also allows for installation of new applications. In the light of ever increasing list of functionalities, a Smartphone needs an effective tool to mange them all – an operating system. As of current situation there are several smartphone operating systems such as Symbian, Microsoft Windows Mobile, Palm OS etc. BREW is also the one from this category.
Exploring BREW for a while, we discovered resources in the web, however lots of users are impatient readers and sometimes are lack of telecom domain knowledge, and quite often its quite difficult for them to understand some aspects of BREW and get the full picture of how BREW operates. In this survey we will provide the converged information on how BREW works. We will start with overall introduction of BREW and gradually will move to introduction to its developmental aspects.
Purpose
The survey will help you get to know the following
- Application development platform – what is this?
- BREW’s role as application development platform for Mobile Devices
- What sets BREW apart from the rest of handset platforms such as Windows Smartphone, Symbian…
- Advantages and disadvantages of using BREW to develop software for Mobile devices
- Various phases of BREW application development life cycle
- Types of applications that can be developed in BREW platform
- Basic components of BREW applications
- Resources for more information about BREW platform
Background
The term Platform describes a hardware or software configuration of a computer. Dealing with hardware configuration this term is used to depict the processor architecture, for example Intel x86 platform, PowerPC platform etc. In the event of software configurations, the term ‘platform’ depicts the OS the computer runs under, for instance, windows platform, Macintosh platform etc. OS is the element to be ported for different hardware platforms to be supported, since operating systems sit on top of the computer hardware.
An Application Development Platform or Framework is typically as et of tools and libs which allow software engineers to develop hardware of software platform specific applications. Some notorious application development platforms like Java, .NET framework are ported on various software platforms or operating systems. The same way BREW is a framework which can be ported on various hardware platforms. To put it short, unlike Java or .NET sitting on top of operating systems, BREW sits on top of hardware layer of the device.
BREW Overview
- Means Binary Runtime Environment for Wireless. BREW runs on top of hardware platform and is portable to various hardware platforms.
- The product by QUALCOMM Internet Services – a division of Qualcomm
- Currently integrated to all QUALCOMM handsets, however is portable to non-QUALCOMM handhelds
- Compatible with any other mobile operating system
- Small size – about 150kB – smaller than the rest of rival operating systems in the market
- It can run on CDMA or GSM/GPRS or UMTS handhelds. But currently it runs only on CDMA devices
- Applications development languages C,C++, Java using a Java Virtual Machine developed for BREW platform.
- BREW can be integrated into vendors’ devices by using the BREW Porting kit provided by QUALCOMM
BREW Application Development Cycle
- Free to download BREW SDK used for development of applications in C/C++
- The SDK includes BREW Emulator. It simulates the interface and conduct of BREW device, is used to test and debug BREW applications in the course of development process.
- Applications for BREW Emulator are compiled to native code of the operating system on which the Emulator is running
- After thorough testing with Emulator, application must be compiled and link into ARM binary form to run on BREW handset.
- Different from other mobile platforms, BREW applications cannot be tested directly on BREW handsets for security reasons
- To test applications on BREW handhelds, they must be digitally signed. QUALCOMM provides special tools for generating digital signatures only to content providers and Authenticated BREW Developers
- Upon digital signing, applications can be uploaded to a BREW handset via USB port or AppLoader tool – part of the BREW Testing and Commercialization Utilities
- After thorough internal testing, application must be submitted Quallcom for TRUE BREW Testing – this testing type is also available only to BREW Authenticated developers
- As application is approved by True BREW testing, it may go to CDMA Mobile Network providers
BREW Platform Advantages
- Faster application execution compared to other application frameworks like Java Mobile Edition.
- BREW API suits all supported handsets better than other application frameworks like Java Mobile Edition API
- Possibility for vendors to add new functionalities and fix bugs over-the-air to already deployed BREW handsets by using BREW extensions.
Disadvantages of BREW Platform
- Limited testing opportunities
- Required BREW registration and authentication to test and deploy applications in handsets. Authentication procedures are not freely available for individuals
- Difficulties in testing and debugging of BREW applications due to diversities in emulation and real hardware environments
The Concepts of BREW Application Development
BREW application environment has an event driven architecture like Microsoft Windows, Macintosh and other operating systems have. Two types of applications can be created on BREW. One of them is Applet and the second is Extension. Applet is a GUI application with user interface and reusable code encapsulated in one or more classes. An extension is a reusable code written by OEMs to add functionalities to the handsets.
A BREW application is a single Module object and one or more applets and classes. An Applet or Class must be assigned a unique 32 bit identifier called Class ID. Class IDs are needed to be used during development process.
Each BREW application must be shipped with a corresponding Module Information File associated with it. MIF includes vital information about a BREW application:
- Supported classes
- Supported applets
- Applet details
- Class IDs assigned to applets and classes
Module Information file is generated with BREW MIF Editor tool included in SDK. Resource files can include language and device specific data for BREW applications thus enabling the localization.
BREW SDK overview
BREW SDK is free to download from QUALCOMM site. QUALCOMM provides detailed SDK installation instructions as well as many other useful details.
SDK includes an application wizard addin for Microsoft Visual Studio 6.0 that creates skeletal code for a BREW application simplifying the start with application development. This addin is included to BREW SDK 1.1 and higher versions. User guide includes step by step instructions on how to use the appwizard for BREW applications development.
Visual Studio.NET and Visual Studio 2005 may also be used to develop BREW applications. However, coders will need to manually link the SDK headers and libraries to compile the application code. SDK contains plenty of example applications which much aid developers to learn various aspects of BREW development.
First BREW application
You can find lots of documents helping with this matter, provided by QUALCOMM:
- BREW application from scratch
- Introduction to BREW
- Visual Studio.NET to create BREW applications
- Visual Studio 2005 to create BREW applications
Conclusion
Due to this survey, our readers have an opportunity to get a general picture of how BREW works.