Platform-independence of the user interface
To understand the philosophy behind the Java GUI model, it is
necessary to know a little about the market in which software development
operates.
Throughout the world, most people using desktop computers are using
IBM-compatible PCs. Indeed, for many people this will be the only desktop
computer with which they are familiar. However, there are other desktop
computers that are used widely enough to form a substantial market for
software.
Of the people who use PCs, many will be using Microsoft Windows.
Many people are surprised to find that this is not the only graphical user
interface available, even for PCs. People using alternatives to Microsoft
Windows on PCs are a minority, but an increasing one. These people will need to
be supplied with software as well as the Windows users.
As well as desktop PCs, there is an increasing number of portable
and pocket-sized computers. Many of these run variants of Microsoft's Windows
Operating System, but a much larger number do not. The two most widely-used
pocket computers (at least in Britain) are 3-Com's PalmPilot and Psion's Series
5. Both these devices have a graphical user interface and in neither case
is it related to Microsoft Window. These machines also represent a large market
for software.
One of the design goals in the development of Java was to provide a
system where the same program would work on all
these different systems, with minimal effort on the part of the programmer.
Therefore, for each program developed, the potential market for the product
would be increased, perhaps by a factor of ten. This is good for the
developers, as it can lead to increased profitability; it is good for the
consumers, as it makes a wider range of software available.
The mechanism that Java uses to make a program portable is to abstract the user interface. In a sense,
the Java programmer works with 'simplified models' of user interface elements -
the Java runtime system is responsible for mapping these onto the real user
interface.
|