I am considering using Codename One for cross platform development, most immediately for iPhone, but subsequently for WinPho.
We already share a Java core across MIDP, BlackBerry, Android and Java SE/Swing, and would like to get rid of the need for separate development strands for C# and Objective C. About 65% of the Java code is shared, but that still means a complete port to a new Java API takes us around three months. That's a big spend to try out a new tool that might not pay off, while still having to maintain the other two code bases.
However, a set of classes that look like MIDP API classes but wrap the Codename One equivalents, would enable us to try out CN1 without too much expense, and, if it's successful, to make rapid transition, enabling us to stop developing other code bases and re-use the developers to make a "proper" CN1 port.
Such a compatibility layer doesn't exist... and it would probably take a similar amount of effort to develop it...
On the other hand... if other people face a similar problem, there is a chance to collaborate and share the cost.
I appreciate there will be many people who think this is folly, and that a native port is the only sensible way. However, given the current market size for WinPho, it would not be cost effective, and we would simply not support it at this time.
Anyone who would be willing to collaborate, probably on an open-source basis, and who has an existing commercial MIDP app (and so has a vested interest in the project's completion), feel free to post below!
Yes, PhoneGap's been around for a couple of years. Codename One is new to me too, but comes from the team that produced LWUIT - probably also unknown to you unless you've done much Java ME. LWUIT (Light Weight User Interface Toolkit) is a "pretty" UI library for Java ME, and was (is?) a Sun-sponsored project, I think. So Codename One is at least from developers who have been significant in the mobile development community for some time.
Two downsides with PhoneGap.
Oracle have an adapted version of PhoneGap that contains a JVM (for iPhone). But there's not much support for other platforms, and it looks a bit weighty in terms of the runtime components that your app needs to carry with it.
Codename One is Java, seems to have good platform support, and seems "just enough" in terms of functionality. Hence my interest in exploring it.
I'll check it out, but as you may have guessed my experience with it is less than 0 so I wont be able to help you for now. This seems a very interesting platform for anyone that uses Java and wants to post code from other mobile platforms.