11.2 APPLICATION TOPOLOGIES

There are three basic approaches to developing mobile applications in terms of what runs on the mobile device itself, namely:

images

Figure 11.1 Typical (idealised) mobile device architecture.

  1. Java – implement a Java program that runs in a Java Runtime Environment (JRE) and uses Java APIs to access mobile device resources.
  2. Browser – provide access to a server-based application via a browser, where the browser accesses the mobile device resources for us, such as the network connection to the server.
  3. Embedded – implement a program that runs natively on the mobile device real-time operating system (RTOS) and uses the device APIs to access the mobile device re-sources. (Java and embedded are similar approaches, but the Java approach is significant enough to warrant separate consideration.)

Using a combination of the above approaches is also possible, and we shall look at this later. Why are three methods necessary; can't we just make do with one? The short answer is that these three approaches have emerged and evolved to tackle the problem from slightly different angles. In fact, the Java and browser approach are really extensions of the embedded approach. Ultimately, any application on a mobile device has to run on the device's operating system and use the low-level resources of the device. This is the most generic solution. A browser is a particular embedded ...

Get Next Generation Wireless Applications: Creating Mobile Applications in a Web 2.0 and Mobile 2.0 World, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.