
Embedded Devices
When working on embedded devices, I occasionally do some C programming. Writing a driver allowing downloading images from a digital camera into an 8-bit Microcontroller required even some assembler coding. Anyway, besides those adventurous expeditions I'm pretty much a hardcore Java coder - if you hadn't heard.
Mobile Devices
Sun Micro's Java Micro Edition (J2ME, Java subset for small consumer
and embedded devices with limited capabilities) and Qualcomm's Binary Runtime
Environment for Wireless (BREW, runtime environment running at the
firmware level (CDMA chipset) and available only to CDMA-based
wireless devices sporting Qualcomm processors) are the two
technologies at hand when developing an application targeting a mobile
device. J2ME and BREW compete on the execution platform (phone, PDA,
etc.) but also through different distribution and billing systems as
well as through their respective developer communities.
But there is a lot going on currently in the mobile devices space:
- Nokia just doubled its share of CDMA handset sales in the global market. Nokia holds over 50% of the market for mobile GSM phones but has never put serious development dollars behind CDMA until the last few years.
- Opera Software has reached a deal with Nokia to begin including the Opera Web browser as a default application on Nokia smart phones.
- esmertec brings the first MIDP2.0 BREW tested and Java certified solution to market.
- A study done earlier this year showed that J2ME is present on some 75 million handsets with 34 carriers and BREW in only 2.5 million handsets with six carriers (all CDMA networks).
As a Java developer, I find that J2ME is the right choice for a range
of small devices including mobile phones but I guess BREW has its own
advantages when targeting wireless phones. Like afore mentioned,
sometimes one has to leave the platform of choice, i.e. to fulfill
performance requirements. BREW is tightly integrated with the chipset,
which results in performance advantages and access to low-level
functionality. But even with the news from esmertec, BREW somehow
still has this kind of anti-GSM, anti-Java aura. Even if some
operators choose to deploy esmertec's JVM for BREW, which would
enable Java developers to take advantage of the BREW distribution
system (to easily monetize and distribute their Java applications)
will it really make a difference?
Sun, which recently acquired Pixo, has rallied the Java community to
standardizing on J2ME. Qualcomm provides the BREW C/C++ SDK easily
integrates with Microsoft's Visual C++ development environment, a
tool that most Java developers have kissed good-bye a long time ago.
Common Ground
We have seen that with BREW acting as a layer below a JVM, it is possible to download and run Java applications on BREW-enabled devices. However, adding another layer on to embedded devices with limited capabilities should require extra processing requirements. Does this all matter? You tell me!
Subscribe