Issues need to be tackled while developing J2ME applications 

While developing an application in J2ME, the programmers need to take care of lot of things (rather I would say limitations) and should tackle it down. Normal Java applications may enjoy the richness of memory, processor speed and things like that (may also get a lot of support from the native environment also).

But J2ME doesn’t offer us such a fruit. I have listed some of the design areas where we need to focus while developing J2ME applications:

Instead of memory its better to say “lack of memory”. The J2ME is a lighter version of Java which is targeting devices with minimal amount of volatile & non-volatile memory. So the point is clear, right?

But these days, even memory is not a constraint. B’ coz almost all devices comes with extendable memory. But still should be an area of concern.

No Multi-Window Support
There is no multi-window support in J2ME. So the application UI should be designed properly so that the user should be able to navigate it properly (without much effort to understand the UI).

No File System Support
J2ME does have file system support (JSR 75). But most of the devices still doesn’t support JSR 75. What the programmer can do is, use the RMS (Record Management System) feature.

Device Dependency
J2ME applications are too much device dependent. Then you may be thinking about the promise (“write once, run anywhere”) made by Sun, right? To some extend, yes it do keep its promise. But once you start running the same application in different devices, you will come to know how much effort the application developer need to do to make it working properly in all devices.

So, what developers can do is to write the code in such a way to minimize the amount of porting needed. One way I can suggest is to have a clear separation of general purpose and device dependent code segments.