The Java™ platform is available in three different editions, each optimised for a specific application environment:
Java Platform, Standard Edition (Java SE)
Java Platform, Enterprise Edition (Java EE)
Java Platform, Micro Edition (Java ME)
The three editions are similar in their fundamental aspects and share the common Java characteristics, such as automatic garbage collection and cross-platform virtual machine architecture.
Java ME offers a standard framework for developing Java applications for mobile and other embedded devices, such as mobile phones, and is optimised for an application environment with limited memory and computing resources. Java ME shares a number of APIs with Java SE and Java EE, so you can easily adapt your Java programming skills to create mobile Java applications.
To run Java ME applications, devices must implement a configuration. Configurations specify the minimum set of Java APIs and virtual machine features required to implement a Java ME runtime environment. Java ME defines two configurations:
Connected Device Configuration (CDC)
Connected Limited Device Configuration (CLDC)
To provide developers a full platform for creating Java ME applications, devices must also implement a profile. Profiles sit on top of configurations and specify further Java APIs that focus on specific groups of devices. Mobile devices use the Mobile Information Device Profile (MIDP) on top of CLDC. MIDP adds Java APIs specific to resource-constrained devices such as cell phones. Any device that implements a CLDC configuration and a MIDP profile can run Java ME applications developed for any other device with a corresponding implementation. Java ME applications that use MIDP are called MIDlets.
In addition to the mandatory CLDC configuration and MIDP profile, mobile devices can support additional APIs for more specific purposes, such as drawing vector graphics, using advanced multimedia features, or accessing web services.
The following figure provides an overview of the different Java platforms editions.
Figure: Java platform editions
The following table summarizes the additional APIs and plug-ins supported on Nokia Asha and Series 40 software platforms:
APIs and plug-ins |
API/ Plug-in Name |
Supported from Nokia Asha software platform |
Supported from Series 40 developer platform |
---|---|---|---|
Nokia APIs |
Theme API |
Nokia Asha Software Platform 1.4 |
|
Share API |
Nokia Asha Software Platform 1.1 |
||
VoIP API |
Nokia Asha Software Platform 1.1 |
||
Nokia Notifications API |
Nokia Asha Software Platform 1.0 |
||
File Select API |
Nokia Asha Software Platform 1.0 |
||
Image Scaling API |
Nokia Asha Software Platform 1.0 |
||
Network State API |
Nokia Asha Software Platform 1.0 |
||
Contact API |
Nokia Asha Software Platform 1.0 |
||
Phone Setting API |
Nokia Asha Software Platform 1.0 |
||
Nokia Gesture API |
Nokia Asha Software Platform 1.0 |
Series 40 6th Edition Feature Pack 1 |
|
Nokia Frame Animator API |
Nokia Asha Software Platform 1.0 |
Series 40 6th Edition Feature Pack 1 |
|
Nokia UI API |
Nokia Asha Software Platform 1.0 |
Series 40 Developer Platform 2.0 |
|
Standard J2ME APIs |
JSR-75 FileConnection API 1.0 Optional Package |
Nokia Asha Software Platform 1.0 |
Series 40 6th Edition |
JSR-75 PIM API 1.0 Optional Package |
Nokia Asha Software Platform 1.0 |
Series 40 6th Edition |
|
JSR-82 Bluetooth API 1.1 |
Nokia Asha Software Platform 1.0 |
Series 40 6th Edition |
|
JSR-118 MIDP 2.1 |
Nokia Asha Software Platform 1.0 |
Series 40 6th Edition |
|
JSR-135 Mobile Media API 1.2 |
Nokia Asha Software Platform 1.0 |
Series 40 6th Edition |
|
JSR-139 CLDC 1.1 |
Nokia Asha Software Platform 1.0 |
Series 40 6th Edition |
|
JSR-172 Web Services API 1.0: RPC Package |
Nokia Asha Software Platform 1.0 |
Series 40 6th Edition |
|
JSR-172 Web Services API 1.0: XML Parser Package |
Nokia Asha Software Platform 1.0 |
Series 40 6th Edition |
|
JSR-177 Security and Trust Services API 1.0 |
Nokia Asha Software Platform 1.0 |
Series 40 6th Edition |
|
JSR-179 Location API 1.0.1 |
Nokia Asha Software Platform 1.0 |
Series 40 6th Edition |
|
JSR-179 Location API Appendix |
Nokia Asha Software Platform 1.0 |
Series 40 6th Edition |
|
JSR-184 Mobile 3D Graphics API 1.1 |
Nokia Asha Software Platform 1.0 |
Series 40 6th Edition |
|
JSR-205 Wireless Messaging API 2.0 |
Nokia Asha Software Platform 1.0 |
Series 40 6th Edition |
|
JSR-211 Content Handler API 1.0.1 |
Nokia Asha Software Platform 1.0 |
Series 40 Developer Platform 1.0 |
|
JSR-226 Scalable 2D Vector Graphics API 1.1 |
Nokia Asha Software Platform 1.0 |
Series 40 6th Edition |
|
JSR-234 Advanced Multimedia Supplements API 1.1 |
Nokia Asha Software Platform 1.0 |
Series 40 6th Edition |
|
JSR-238 Mobile Internationalization API 1.0 |
Nokia Asha Software Platform 1.0 |
||
Plug-ins supported |
Tantalum plug-in |
Nokia Asha Software Platform 1.0 |
|
LWUIT plug-in |
Nokia Asha Software Platform 1.0 |
Series 40 Developer Platform 2.0 |
|
HERE API |
Nokia Asha Software Platform 1.0 |
Series 40 Developer Platform 2.0 |
|
Nokia In-app Payment plug-in |
Nokia Asha Software Platform 1.4 |
The Java ME enabled devices of Nokia support MIDP on top of CLDC.
The Nokia Asha software platform and Series 40 platforms have supported Java™ ME since their first release, Series 40 1st Edition. Series 40 2nd Edition was the first release to support the JSR-185 Java Technology for the Wireless Industry (JTWI) specification, which defines an architecture for a uniform implementation of Java ME across mobile devices. JTWI was superseded by support for the JSR-248 Mobile Service Architecture (MSA) Subset specification from Series 40 5th Edition onwards. Like JTWI, MSA aims to minimize the fragmentation of Java ME implementations and thereby ensure application compatibility and portability across the broadest possible range of mobile devices. In Nokia Asha software platform devices, the JSR-248 MSA Subset is supported except for the JSR-75 PIM ToDoList functionality due to lack of native support. For more information about these two architecture specifications, see:
Java Technology for the Wireless Industry (JTWI) at the Oracle Sun Developer Network
The Mobile Service Architecture Specification at the Oracle Sun Developer Network
Java ME Technology at the Oracle Technology Network