Wednesday, April 7, 2010

Brew Application development

BREW (Binary Runtime Environment for Wireless) is Qualcomm's open source application development platform for wireless devices equipped for code division multiple access (CDMA) technology. BREW makes it possible for developers to create portable applications that will work on any handsets equipped with CDMA chipsets. Because BREW runs in between the application and the chip operating system software, the application can use the device's functionality without the developer needing to code to the system interface or even having to understand wireless applications. Users can download applications - such as text chat, enhanced e-mail, location positioning, games (both online and offline), and Internet radio - from carrier networks to any BREW-enabled phone.

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 applications can be written using Java, C, or C++. Java applications are also supported if the handset has a Java Virtual Machine available. For testing applications during the development process, the SDK includes a BREW Emulator, or starting with BREW Version 3.1.5 and above, the BREW Simulator. The BREW environment provides for multiple levels of application signatures.

The BREW Emulator which is currently called BREW Simulator does not emulate handset's hardware. Instead, the BREW application is compiled to native code and linked with a compatible BREW runtime library. Because of this, applications cannot be tested for platform bugs related to memory alignment and various firmware related glitches without a BREW handset operating in test mode.