BREW stands for Binary Runtime Environment for Wireless is an application development platform created by QUALCOMM, originally for CDMA mobile phones, but GSM is now also supported. It is a complete set of APIs that enables software development and applications in C, C++ and Java and is supported (platform) by an ASIC. A software platform that can download and run small programs for playing games, sending messages, sharing photos, etc. The main advantage of BREW platforms is that the application developers can easily port their applications between all Qualcomm devices. BREW acts between the application and the wireless device on-chip operating system in order to allow programmers to develop applications without needing to code for system interface or understand wireless applications.
BREW application development
Software for the BREW-enabled handsets can be developed in C or C++ using the freely downloadable BREW SDK. 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. BREW enabled Handsets have a test mode that allows applications to bypass verification of the Qualcomm signature.
The BREW Emulator (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.
Advantages of BREW
There are quite a few of advantages of using BREW; here are just a few of the most common:
- Testing: While for many developers testing can be a major hassle that can slow a release date or be cost prohibitive, testing to make sure that all applications developed for BREW ultimately results in less buggy software and usually higher quality software.
- BREW API: BREW API (application programming interface) makes it much easier to use than other platforms available, specifically J2ME (Java 2 platform Micro Edition) API.
- Graphics: Developing graphics for games or other purposes are usually much easier to create than other platforms, usually due to access to the screen buffer.
- No Artificial Limits: Some other platforms have artificial limits to the size of the binary. For instance, J2ME has an artificial limit of 128K; BREW does not have an artificial limit.
- Less Competition for Application Developers: Because developers must pay to have their software tested, this usually results in less developer competition. In most cases, you do not have to worry about freeware or hobbyists developing BREW applications.