Future battles will probably be between Microsoft, with its .NET Compact Framework, and Sun, which is touting its J2ME specification. J2ME technology is a Java environment designed to enable Java applications to run on wireless and handheld devices. It defines standard subsets of APIs that target specific classifications of small computing devices. These API subsets are broken down into J2ME configurations and profiles.
Per the J2ME specification, configurations are composed of the two low-level APIs and optimized virtual machines targeted at two broad categories of devices: (1) those with 128512 K of memory available for the Java technology environment (and applications), and (2) those with 512K+ available for the Java technology environment (and applications).
Microsoft, on the other hand, has made rapid strides in developing its mobility portfolio and now has the OS choices (XP Embedded or CE.NET 4.1), toolsets, and development environment to make it a major player in the platform market.