Java ME SDK provides the ability to build, test, and create the image to be burned onto a Blu-ray disc. Because of licensing restrictions, the SDK does not come with this capability out of the box; BD-J stubs and a Blu-ray player are required to build and test your BD-J apps. However, the SDK can locate and utilize ArcSoft's TotalMedia Theatre player out of the box, and you can configure it to use other players such as WinDVD and PowerDVD.
Bruce Hopkins has written two excellent how-to pages on the Sun Developer Network on the use of Java ME and Blu-ray technology. In the second of the two pages, he demonstrates the use of the new Java ME SDK to author, edit, and compile a sample BD-J application.
Emulation and On-device Debugging
As all Java ME developers know, an emulator often doesn't provide a true indication of how the application will behave when deployed to the device. Therefore, the SDK also supports on-device deployment and debugging. In addition to its prepackaged emulators, the platform also allows for integrating other third-party emulators. In fact, the SDK comes with a CAB file that serves as a CLDC/MIDP emulation environment for Windows Mobile devices (see Figure 20
). You can install the CAB file on a Windows device or emulator, which turns the Microsoft mobile device into a Java ME platform.
|Figure 20. Windows Mobile Emulator: You can deploy and run the CAB file that comes with the Java ME SDK on a Windows Mobile (ARM processor), providing a CLDC/MIDP environment on the device.|
Future versions of the SDK will bolster on-device capabilities by offering on-device profiling, memory and network monitoring.
JavaFX Support Not There Yet
The early access release of the Java ME SDK does not contain JavaFX runtimes or emulators, but according to Najman the final release will. In fact, at least two of the emulators will be JavaFX enabled. Having a single SDK to test all aspects of a Java ME application, including the JavaFX Mobile parts, will be an important feature.
Although the Java ME SDK will provide a testing environment for JavaFX, it is not intended to be the development platform for JavaFX. The JavaFX SDK (version 1.1 was released in February) is the tool Sun recommends for JavaFX development.
Under the Covers
Unlike the features listed so far, some of the features in the SDK 3.0 cannot be seen. Under the covers, the new toolkit sports a new virtual machine. The WTK used the KVM (Kernel-based Virtual Machine), which according Najman is "deprecated and close to End of Life." Therefore, Sun replaced the KVM with its CLDC Hotspot Implementation Virtual Machine (CLDC HI VM) in the SDK. This virtual machine should provide substantial performance improvement over the KVM.
The CLDC HI VM is open source (find more information through the PhoneME project). As a result, "it gives an option to PhoneME developers and others to use SDK as a platform and plug-in custom runtimes into the SDK" states Najman.
The SDK also supports CLDC 1.1 and MIDP 2.1 applications. It also contains support for new Java ME JSRs such as the Mobile Sensor API, XML API for Java ME, and Java Binding for OpenGL ES. In fact, Sun claims this is the first Mobile Service Architecture 1.1 (JSR 248)-compliant stack.
Early Release Issues and Future Development
Because this is an early access release of the Java ME SDK 3.0, it contains some bugs and limitations. Examine the "Known Issues" list found in the Release Notes that come with the product, especially if you run into something that doesn't appear to be working correctly.
The documentation also ispredictablysomewhat limited. In particular, testing on the device can be a little tricky to set up and usually requires some trial and error to get it right. However, the sample applications provided with the SDK help demonstrate almost all of the major new and improved features of the environment.
So when should you expect a final release? According to Radko Najman, the final release will be available by the JavaOne 2009 conference (June 2-5, 2009). Beyond the forthcoming final release, future Java ME SDK releases will extend on-device tooling and the Java ME SDK team will provide updates through the update center. In fact, the SDK team hopes to use the autoupdate feature to release the latest tools sooner than the usual release cycle allows. The hope is that other device vendors, network carries, and so forth will also be use autoupdate to deliver their specific features through and to the SDK platform.