3

Applications

3.1 What Constitutes an Application?

In the conventional computing setting, programs can often be taken as transformators that translate a given input to a corresponding output. In practice, however, modern pieces of software take input and generate corresponding output in microscale, rapidly reacting to smallish changes in their environment like a touch on a touch screen, moving a cursor, or pressing a button. Moreover, changes can take place in parallel, i.e., rather than being sequential as traditional programs, applications have become reactive systems, which wait for any events that might affect them and potentially react to the events with some response. As events can arrive in different order or even in parallel, applications may become more complex entities, if they assume the responsibility for controlling the executions. Rather, the environment, for instance the user, associated network, or some other actor, more commonly takes control of what should take place.

The most basic definition of an application is that it is a piece of software that can be started and terminated individually, and that it performs a certain task. Furthermore, it is often necessary to associate a user interface with an application, as otherwise observing the behavior of the application might be difficult. In this chapter, we use the term ‘application’ in the broad sense, which includes the necessary user interfaces and related facilities, although the focus is placed on actual ...

Get Programming Mobile Devices: An Introduction for Practitioners 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.