Since the arrival of iOS and Android smartphones, J2ME has really faded into the background. And it is not because iOS and Android are better platforms, it is because J2ME didn’t evolve with the rapid technological growth of mobile devices. J2ME was originally intended for low-end devices, as a lightweight Java runtime and was very successful. But we haven’t seen any new enhancements to the platform for the commonly available new high-end mobile devices nowadays. There has been some maintenance releases here and there but no substantial improvements were seen in the platform. Some proposed enhancements are lying dormant in the neo-political and ever bureaucratic JCP. And since Oracle acquired Sun Microsystems, and started pushing their ADF platform for corporate mobile solutions, the future of J2ME is looking very bleak.
Noone has anything interesting to say about J2ME anymore and their market-share is gradually decreasing. It is hard to understand why J2ME has been orphaned, which once used to be the only real mobile platform supported by majority of phone vendors. The market did show some positive vital signs for J2ME, when the sales of iOS and Android went down last year, which had some people excited; it also showed that the platform might still have potential. But Oracle, for some strange reason, failed to capitalize on it.
Oracle may brag about millions of devices running Java, but the truth is Oracle doesn’t have a proper platform for modern mobile devices. Realistically speaking, today, J2ME cannot compete with the likes of iOS, and it’s cousin Android, which provides, although non-standard and controversial, but a full featured Java 5 runtime for mobile along with many open source goodies from Apache. From the end-user perspective, J2ME does not give you the same feature-rich user experience as Android, iOS or even Blackberry. The J2ME developers also never saw a standard app-store, available on all mobile devices, where they could sell their apps, which is one of the major success attributes of iOS and Android. And with the success of cross-platform HTML5/AJAX based technologies, it will be pretty hard for J2ME to compete unless it brings something new to table, which doesn’t seem likely with all these years of EDS.
It would have been nice to see a standards-based Java Mobile platform backed by the JCP. Android did come close to becoming the next J2ME, which was also a good news for Java being Open, but the success was marred by the Oracle law-suits. In the end, as a developer it is sad to witness the gradual but imminent demise of J2ME. So R.I.P J2ME, you had your day and it was nice knowing you.