J2ME has virtually reached its end of life. Not because there are no projects in the market. There are still projects even for vb6(1998 release) but the mobile software development has almost changed all software development paradigms.
There are many factors why J2ME is not as popular as Iphone apps. I learned J2ME first(year 2000), then Java SE and then Java EE. J2ME was very easy and didn’t need much java knowledge as it was the most simplest forms of applications one could have. So why’s it dying. Because of its simplicity.
Here are some reasons why Java Mobile Edition is dying out.
1. Simplicity: J2ME was too good for apps having 128KB of memory. As years passed by, memory became cheaper by the day but J2ME feature list didn’t grow up well. I believe that at some point of time, if resource availability is more then we could enhance some good features. But nah! J2ME kept doing little enhancements while hardware jumped faster.
2. Limited availability: Even though it was Java, the component set it provided were too simple. With just a dozen component set and a few layouts one cannot keep up. There are still a few options for providing more components via J2ME Polish, but Polish is a 3rd party tool.
3. Change: J2ME didn’t change or addin more features. Rather I would say the community was really slow in developing more components. Most experts were busy in developing enterprise solutions. Custom components were made but not released as open source. Sun & J2ME polish were the only one who were publicizing WTK. Blackberry’s RIM (Research in Motion) may be doing it indirectly to promote their handsets. But they themselves included a lot of API which were through J2ME but native to Blackberry handsets only — Smart! But I feel they were caught up with this technology and now they cannot get rid of it. But what can I say, RIM was a new company trying to make its mark in the market so they had a good choice of adapting an existing technology rather than creating and SDK for their own apps. Remember RIM is not Apple..!
4. Integration: J2ME had a great IDE with Netbeans only. Larger audience who uses eclipse didn’t have the best IDE which netbeans has. Drag n Drop etc were available much later and still with limited functionality. In fact I would say the flow designer of Netbeans is much much powerful and can give a good competition to Iphone SDK in terms of mobile app flow.
5. New replaces the old: Windows Mobile came in as all smart phone which took a lot of enterprise market. It had easy drag n drop VB6 style programming which made it easy. Years 2002-2006 enterprise market was ruled by smartphones having windows mobile or CE etc. Even now many shipping company, restaurants etc prefer windows based solution. Remember Blackberry was famous in the industry as a personal usage smartphone for its business services and not for its 3rd party application. Now when Iphone has come in, the market is flourishing with projects on iphone!
6. Android bug: Lastly most J2ME developers knowing Java are migrating to Android platform which is completely java based. Even the new ones. They want to build up a career in Android and not in J2ME!
So if someone asks me what’s the future of J2ME? I would say its a ship with a torn sail! The technology needs a complete revamp. Polish should be integrated as a native support. Better IDE which competes with other products’ IDE. It definitely needs much better SDK support.
And whose going to do it? Let the community decide!