Saturday, November 1, 2008

J2ME versus other mobile application development technologies

i have left mobile application developmet area (specifically J2ME) from about half year but i am still eager to know the latest technologies in the area so i found in the last few years appear many mobile application development technologies what make J2ME different from them and what is the features for each technology


first i will list most of the technologies that compete with J2ME



  1. Android

  2. c++ Symbian

  3. flash lite

  4. Web Widgets – Web Runtime for S60

  5. Widget WidSets

  6. Yahoo Mobile Widget

  7. JavaFX

first i want to list the keys that i will make my comparisons based on them



  1. easy of programming and learning

  2. precentage of devices that support each technology

  3. precentage of developers in the mareket for each technology

  4. supporting tools (materials,IDEs, emulators,...)

  5. customer devlivery-->how its easy to deliver a mobile application to the end user in an easy way

  6. porting problems-->how its easy to port specific application to another model of mobile devices

  7. limitations and suitable applications for each technology

  8. localization problems

  9. precentage of usage for each technology

Android


programming language on Android phones are Java so any java programmer or J2ME can leran Android very fast. but there is very samll number of devices that support Android phone for now there is only one phone model that support android (T-Mobile G1 smartphone http://en.wikipedia.org/wiki/T-Mobile_G1 ). Android sum the features of both Java ME and C++ symbian . it takes form Java ME its easy of programming and learning and from c++ symbian the low level acess to the device hardware capabilities. also with respect to supporting tools there is small number compared with J2ME and symbian.also android provide great support for localization and Internationalization like symbian but J2ME lake these feature as to be programmed by hand in J2ME.android also very suitable for most type of applications (Games,disconnected application,network aware application,socail application and GPS..)



C++ Symbian


symbian provide acess to all device hardware but the its hard to learn and application development somehow take time compared to J2ME and other mobile application technologies but it also provide support for localization and Internationalization which is lake in J2ME and have to be programmed by hand.there many phone models that support symbian but compared with J2ME.the last is the winner as J2ME is supported on both symbian phones and none symbian ones (most smart phones)


Flash Lite


Flash from Adobe is a leading technology for delivering engaging media content on the web. Flash Lite from Adobe is the mobile-optimised version of that technology.its most suitable for producing games and rich GUI application that is fully with graphics.flash lite is supported on many Nokia phone models.and nokia provide great support and tools for development with flash lite


Web Widgets – Web Runtime for S60


Widgets — you're familiar with them from the desktop. Small, focused Web applications that are easy to install and use. Perfect for the small screen. Nokia has now extended the S60 browser engine to behave as a runtime platform in its own right.it use script language for programming



Widget WidSets ---Yahoo Mobile Widget


boths of these two technologies are actually copies of each other have the same features and capabilities. its like Web Widgets – Web Runtime for S60 but it requite client to be installed first on mobile phones.any of them can run on any mobile devices that support J2ME(CLDC1.1 -MIDP2.0)each of them use script language for programming


Widget WidSets -->make script language called WidSets Scripting Language (WSL).
Yahoo Mobile Widget -->make script language called blueprint.


mobile Widget(Yahoo,Widsets) is a powerful framework, built on top of Mobile Java (Java™ ME), making many Java ME features available for developers. Additionally, many Java ME features have been wrapped in a more developer-friendly way, requiring fewer lines of code to do the same thing than in Java.
Because the WidSets client is a Java application, it can be run in any mobile device supporting MIDP 2.0. WidSets is currently verified to support more than 300 different phone models.
With WidSets you can get your favourite Web content directly to your mobile phone. You can share your preferred content with other users or publish it on the Web. Widgets with useful functionality can be developed, deployed, and updated very quickly.



WidSets widgets are small mobile applications written in tailored and optimized for the WidSets service. WSL is a strongly typed, Java-like language, designed to be light-weight but powerful.
The service and developer tools are free: no need for certificates, no fee for development tools, and no payment needed for accessing developer programs.


Yahoo Mobile Widget Build world-class mobile services in record time with the Yahoo! Blueprint platform—offering easy-to-use development tools, a powerful feature set, and beautiful UI controls—all within an open environment that runs across thousands of devices.


JavaFX


The processing and networking capabilities in today's mobile handsets have the potential to deliver a new class of rich, Internet-enabled content. To allow content creators to tap into this power, Sun Microsystems is bringing JavaFX technology to mobile devices. Moreover, JavaFX Mobile builds on top of the market-leading Java ME platform to take advantage of its powerful, device-level capabilities.JavaFX for mobile is still under development



application develivery


what i mean by the application delivery how the customer get and install the application developed by each technology.


its have two main categories



  1. application that installed and run as standalone (J2ME,C++ Symbian,Android,
    flash lite ,Web Widgets – Web Runtime for S60 ,JavaFX)

  2. application that need client to be installed first and the application is get installed over the client(Widget WidSets,Yahoo Mobile Widget )

refrences


http://en.wikipedia.org/wiki/Google_Android


http://code.google.com/android/index.html


http://www.symbian.com/


http://www.forum.nokia.com/main/resources/technologies/flash/


http://www.forum.nokia.com/main/resources/technologies/browsing/widgets.html


http://www.widsets.com/library.html


http://www.forum.nokia.com/main/resources/technologies/browsing/widsets.html


http://mobile.yahoo.com/developers


http://www.sun.com/software/javafx/mobile/index.jsp