Java Applications Are Taking the Pocket PC by Storm
Diagram of Java Architecture (click on small graphic at right)
Until recently, Pocket PC developers were basically limited to C++ and
Visual Basic-based development environments to build applications for Windows CE
handheld devices. However, Sun Microsystems' Java, a programming language which
has become a standard for Internet and enterprise application development, is
rapidly emerging as a powerful alternative. Java can be used to develop
feature-rich mobile and wireless applications that take advantage of the
powerful processors, memory, and graphical capabilities of Windows CE devices.
Overview of Java
Since Java was launched in early 1995, it has gained wide-scale adoption as a
powerful development tool. Market research firm
International Data Corporation (IDC) estimates that there are currently 2.5
million Java developers and expects that this number will grow to 4 million by
2003. This large development community has helped create a wide universe of
consumer- and enterprise-based Java applications. As an example, more than 5.6
million Web pages are Java enabled, including seven of the top 10 sites as
ranked by Jupiter Media Metrix.
While Java has gained wide scale adoption for building server- and PC-based
applications, the introduction of Java 2 Micro Edition (J2ME) has propelled Java
to the forefront as a viable alternative for creating applications on mobile
devices. J2ME provides a robust core version of standard edition Java tailored
to mobile device needs, yet it retains the platform-independent functionality of
its parent language. Because Java applications are executed by software called a
Java Virtual Machine versus being written for a specific type of hardware or
operating system, Java programs can be run across a range of different operating
systems and hardware as long as a virtual machine is available.
This Write-Once, Run Anywhere concept is one of the core advantages of Java
over other development languages. Developers can write an application that can
run across a range of different Java-enabled devices. This cross-platform
functionality becomes a powerful incentive for developers to write in Java
because they can reach a wide community of potential users. As a result, mobile
device manufacturers like Hewlett-Packard, Compaq, Palm, Research in Motion,
Motorola, and Nokia have already announced support for Java for their new
generations of PDAs and phones.
Application portability is just one reason that Java has attracted more than
2.5 million developers. Additionally, because Java was designed from the ground
up as an object-oriented language, many developers believe that it is easier and
faster to develop in Java than in other languages like C++ and Visual Basic.
Furthermore, Java enables mobile application developers to create end-user
applications with graphics, animation and color. For mobile users who have been
underwhelmed in using Wireless Access Protocol (WAP)-based programs, Java
applications can provide a much richer experience with graphics and animation.
As a result of these advantages, Java has emerged as an important development
environment for mobile and wireless applications. In a recent survey of
developers conducted by market-research firm Evans Group, 30 percent of
respondents said they plan to use Java for wireless applications development
versus 25 percent for Palm and 22 percent for Windows CE.
Notwithstanding the many advantages of Java, some issues still exist.
Although J2ME goes a long way to reduce the memory requirements of mobile Java
applications, the Java runtime environment still requires several megabytes for
basic applications. Furthermore, because the Java Virtual Machine effectively
compiles the Java code each time a program is executed, mobile Java applications
often run slower than applications written directly for a device's operating
system. (However, as mobile devices, particularly Windows CE-based ones, quickly
add more memory and ramp up processing power, this is going to be less of an
issue.) Although Java is rapidly gaining momentum as the development language of
choice across mobile devices, there are still a relatively small, but rapidly
growing number of Java mobile applications available.
Java and Pocket PC Devices