Technical Articles & Books
C/C++ Programmers: Why BREW Should Be Your First Choice in Mobile Development
As a mobile applications developer, you have choices of development environments and which devices you target first. Here are three reasons why you should center your development on the BREW platform, and expand into other environments from there.
by Michael McCarthy
It's a rich, if still evolving, development environment out there for developers creating applications for mobile devices. There's Qualcomm's BREW; many devicemakers are supporting Sun's Java platform for mobile devices, J2ME; and of course Microsoft is busily adapting its CE small-device operating system to the challenges of mobile computing.
If you're like most developers, you want the platforms that give you both the biggest near-term and the biggest long-term customer base, preferably without locking you out of the possibility of porting your products to other platforms as well. Few of us can develop simultaneously in multiple platforms, so we have to pick one to start with. Here are four good reasons why BREW should be the centerpiece of your development efforts--especially if you prefer to develop in C or C++.
The most optimized environment is best.
Developing in C or C++ that is native to BREW results in the most efficient code you can hope for. You're compiling to the tightest, smallest execution environment on the market-much more efficient in terms of processing, memory, and power requirements than any bytecode-interpreting environment. As a result, applications developed with BREW can run on smaller, less powerful, mass-market phones than can code created using Java or other development systems that run on top of a virtual machine.
BREW is the best C/C++ environment.
There are other major platforms with a C/C++ native development environment, such as the Symbian OS, but Java is clearly the preferred environment for these phones, and that's where the emphasis is for training and support.
Of all the major multicarrier platforms, only BREW is first and foremost a C/C++ platform. And while it can likewise support a Java Virtual Machine (and with just as good performance), its emphasis on C/C++ can easily be seen when you browse the BREW developer's site and see the development tools available.
You want support for the widest range of development environments.
If you have Java developers in your shop, they don't have to feel neglected. There are clear plans for BREW to support the Java Virtual Machine in the near future. Thus BREW represents the ideal platform for shops of mixed C, C++, and Java developers. No internal language wars.
And whether you're writing in native C or in Java or some other language that will be supported in future BREW iterations, you'll be able to take advantage of the tools in the BREW SDK, most importantly the device emulator which lets you test your code on various phones that host BREW. This allows you to do most of your debugging before you move to testing on the hardware itself. The emulation includes processor speed, screen refresh rate, file access speed, and more.
There's more to developing and selling an application to a carrier. You still have to deliver it to their device, and install it. Here, BREW's downloader system is another big advantage, to both developer and carrier. Dubbed MobileShop by Qualcomm but operating under various other names by the carriers, the BREW download client exchanges information with the application catalog on the carrier's server, so that customers only see applications that support the specific phone they are using in terms of processor speed, memory, etc. When the customer buys an application, the downloader can check the version of BREW running, the available storage space (offering to remove unused apps to make room on the customer's phone), and take care of license management for each application. It then performs over-the-air downloading and installation. So that's one whole headache you don't have to worry about.
To commercialize your apps, you want the best business platform.
That downloader is a big plus when it comes time to commercialize your applications, but there's more. If you're a big software publisher, maybe you have the sales force to shop your product list to each carrier, one by one. For the rest of us, BREW offers an integrated business and distribution system that gives access to all the carriers with whom Qualcomm has built relationships over the years, with more being added every day.
The fact is, even if you develop using your existing tools, when you're getting ready to sell, it's worth becoming an authenticated BREW developer and member of BREW Developer Alliance Program. Once your applications have been tested and certified, they are available through the BREW Developer Extranet to Qualcomm carrier partners to offer to their consumers. Even better, the download and billing systems lets consumers download and pay for your application, handles payments to you, and provides reports so you can see how you're selling.
There are even pricing templates showing you popular pricing plans, and calls to the ILicense API to manage each kind of pricing mechanism (monthly subscription, number of uses, expiration date, number of days, and elapsed time). You set standard prices to the carriers, and can also negotiate carrier-specific pricing. (Interestingly, the carrier can charge the customer any price the carrier wants-including a loss-leader lower price than you're charging the carrier!)
Bonus reason: First, target small and early.
The market for mobile apps is growing rapidly, but it's still in the early stages. Analysts project "smart phones" with fast processors, larger screens, and lots of RAM, will be common in the years to come.
But in the years right now, market reality is phones that are much less capable. BREW is uniquely targeted at the devices of today and the near future because, as we said above, it's the smallest, most efficient environment and thus is able to make the most of lower-powered processors and limited memory.
If you are able to target the mass market of devices of today, you can generate those early sales to support expansion later into more powerful systems running fatter environments-whether those more powerful phones arrive soon, or take longer than the pundits predict. Anyway, it's just easier to write small and then expand, than to write fat and then trim.
back to topIf you are an authenticated BREW developer or have developed a commercial BREW application and your company name is not listed on the directory, please send us an email.



