Sun has defined 3 platforms targeting different application environments and segmented many of its APIs so that they belong to one of the platforms. The platforms are:
Table of contents |
2 API Development 3 Comparisons with Other Languages 4 Legal Issues |
The classes in the Java APIs are organized into separate groups called packages. Each package contains a set of related interfaces, classes and exceptions. Refer to the separate platforms for a description of the packages available.
The set of APIs is controlled by Sun Microsystems in cooperation with others through its Java Community Process program. Companies or individuals participating in this process can influence the design and development of the APIs, but Sun retains ownership and control of the APIs. This process has been a subject of controversy.
In the corporate programming culture, legal issues surrounding Intellectual Property often complicate technical issues. This fact of life is especially apparent with regard to the Java API.
For example, the Swing API often imitates the underlying native platform's GUI, using perfectly cross-platform code. This way, users (ideally) feel comfortable and unaware they're working on a non-native platform, without Sun needing to pollute Swing with native code. However, the native system's copyright or trademark owner may demand that the look be implemented in terms of the underlying native widgets, as in the case of the Aqua look and feel in Apple's Mac OS X. Apple considers Aqua to be a competitive advantage, and desires the look and feel to be confined to their operating system.Organization of the APIs
API Development
Comparisons with Other Languages
Legal Issues