You claim cross-platform apps, but then you have two development packages. Mono for iOS and Mono for Android. If I develop on Mono for iOS can I take the exact same code and plop it down on the Android version?
I'm using MonoTouch and Mono for Android for some game development right now. My per-platform projects are five to six classes apiece (all but one pushed into my IoC container by the last one), and everything else is shared. Obviously, for a non-game application, you'll have more, but they'll be mostly UI-based.
Comments
You claim cross-platform apps, but then you have two development packages. Mono for iOS and Mono for Android. If I develop on Mono for iOS can I take the exact same code and plop it down on the Android version?
No, but your backend code is the same.
I'm using MonoTouch and Mono for Android for some game development right now. My per-platform projects are five to six classes apiece (all but one pushed into my IoC container by the last one), and everything else is shared. Obviously, for a non-game application, you'll have more, but they'll be mostly UI-based.
No, but you can share a lot of common non-UI code.
Some very useful practices to get good code re-use are described in the book "Professional Cross-Platform Mobile Development in C#" by Olson et al.