similar, only better.
In Codename One you end up with 1 java project to maintain for all supported platforms, in xamarin you end up with 2 project to maintain in c# (1 for each platform: iOS, Android)
Re xamarin... anything they do well that you do not (yet)?