AT CTIA Wireless in Las vegas Petr Suchomel, Staff Engineer with Sun Microsystems gave a session introducing delegates to JME development (CLDC and CDC) with the NetBeans Mobility Pack.
NetBeans is a comprehensive Java development package that allows the creation of mobile, desktop, web and enterprise applications with a single tool. NetBeans aims to provide the best out of the box experience by providing a tool that just works. It seeks to avoid the costs involved in lengthy set up and configuration time. NetBeans is itself 100% Java and is free and open source.
For Java Micro Edition (JME) NetBeans supports both the Connected Limited Device Configuration (CLDC) and the Connected Device Configuration (CDC). CDC is the next generation Java technology for mobile phones, it is emerging very quickly and it is expected to quickly take a major portion of the phone market. The UIQ 3 ranges of phones from Sony Ericsson (W950, P990, and M600) all have support for CDC.
NetBeans supports the full development cycle, editing (features refactoring, code completion and device fragmentation issue solutions), building (uses Ant based build system and features ProGuard obfuscator) running (launches application on the emulator including over the air execution, supports Sun Wireless Toolkit and OEM - Nokia, Sony Ericsson and other emulators) an debugging (supports on device debugging). Other major features include Visual Mobile Designer which allows drag and drop MIDP authoring, and options to solve device fragmentation issues (preprocessing options to work around discrepancies).
Suchomel then gave delegates a demo of the developer tool in action. He showed how it was possible to create an application in just a few minutes. Using the visual designer with its 'flow design' you are able to define screens (e.g. splash and information). You can then use the visual designer to change or add key components of the UI using drag and drop (e.g. alert messages, text fields). Properties can be easily defined using a visual properties dialog (e.g. limiting a text fields to numbers). The flow design allows you to connect the various elements of the application in a visual way. Adding an alert will then allow you to add a path back to the appropriate screen. The IDE also supports intelligent debugging which will attempt to suggest fixes for problems (for example if a resource or similar needs to be imported the IDE will highlight this and allow the change to be easily made with one click). There is also support for on device debugging, which allows you to follow the running program, stepping through the code. The on device debugging works on over 40 phones over a Bluetooth connection with a helper service running on the phone. Device fragmentation issues are addressed by allowing specific code for specific phones. This is done via device configuration management where properties and elements can be set for specific phones or platforms. In essence this allows you to add an if device = y then do this, else do something different. NetBeans supports device configuration profiles (for example one for default, one for a specific device) and within the code view device conditional code will be commented in out depending on which device configuration is currently being used. The currently used device configuration can be quickly changed via a drop down menu allowing for quick multiple device management, debugging and building.
Suchomel also demoed the use of wizards built into the application. For example the web service client wizard allows you quickly build the necessary base code for web services client application. This uses the WSDL architecture and allows an entire client (the stubs) to be automatically generated in a few seconds.
The NetBeans Mobility Pack supports CDC, with an emphasis on the Sony Ericsson phones running the UIQ 3 platform. For CDC to be taken up developers need a tool and NetBeans aimed to be the evangelist tool for CDC. With CDC developers are given a rich set of widgets (like AWT) and target platform awareness within the development tool. It is a JME application but it is much more aware of the platform environment when compared to CLDC. CDC applications are much more like a Symbian application because CDC gives a much greater level of control and integration into the platform than MIDP. The NetBeans tool currently supports UIQ 3.0 and Series 80. Features in the CDC tool include Matisse GUI Visual Designer (free layout ported for personal profile), running and debugging application and building, packaging and deploying jar and sis files.

Suchomel them demoed the creation of a CDC application using NetBeans. On the creation of a new project NetBeans handles the UID and security domain automatically. The screen designer part allows you to create free layout design. As with CLDC there is support for debugging via the emulator or on device. There is advanced support for deployment including easy application icon creation and building of Symbian Installation System file from with NetBeans. Suchomel show cased a PIM Manager Application written using the IDE that demonstrated the ease with which applications that can be integrated with the phone can be created.
Suchomel told delegates that development of NetBeans and NetBeans Mobility Pack would continue. Future plans include adding support for non visual and custom components, for data binding, a database of devices to help with configuration management, support for SVG graphics and continued development of the CDC component. Sun are also planning to add C and C++ support for Symbian / UIQ to the tool.