i-mode lacks application development functionality, but its competitor Java excels in this area. Considered by some to be the essential programming language of the Internet, Java is one of the most prevalent tools for Internet application development. The secret of Java's success is its portability.
Java can run on almost any operating system and/or hardware device. This is because Java incorporates an interpreter directly into the language. In addition, Java is built on a sandbox approach, which enables it to interface with an operating system without unduly exposing it to hackers. Although there are some vulnerabilities and flaws that have exposed user data, the concept is fairly robust.
When you install Java, you are actually installing a Java Runtime Environment. This creates a virtual environment within which the Java program can run. This permits the same program to run on any foreign operating system that supports Java. In the case of PCS devices, Java is represented by the Java 2 Micro Environment (J2ME). As long as the program does not tie into any proprietary sections of the operating system, it can be used on all platforms, including wireless phones, handheld computers, and even NASA's space robots.
In fact, if a PCS device uses Java, it is not restricted to a single type of presentation language. If the programmer develops the capability for WML, HTML, or cHTML, it can be used in any type of wireless network.
Although a study of Java is beyond the scope of this book, it is important to understand Java's potential role in the future of wireless data applications and PCS devices. Java is a true programming language, which uses object-oriented programming (OOP). OOP means an object (for example, a car tire) can be created in Java. This object can then be used four times, instead of requiring a program to code four different objects (for example, four car tires). In addition, the properties of a tire can be set to a standard value (for example, tire size). However, these same properties can also be controlled explicitly by a programmer (for example, car tire size vs. truck tire size). By using OOP, you can optimize the size and complexity of your project.