I want to know, is there any way to develop games for Android-based mobiles (and maybe iPhone) in C#? Yep, i know about “MonoDroid/Mono for Android“, but well… it’s not free. Java is great but Dalvik performance is far worse than Mono. And it lacks of some features that are very useful for game development such as operator overloading. Furthermore, there is OpenTK framework which is simply amazing.
So, is it possible to get running .NET/Mono on Android for free? Or am I sentenced to Java?
You would have to be able install unmanaged code on the device. I would recommend using Java, because I can foresee deployment being difficult with mono. Google might not let you sell your app on their marketplace with large quantities of unmanaged code. It would also tie you down to Android phones sporting a particular brand of processor, not much of a problem as all of the phones I can think of use ARM processors but there are some exceptions.
You could try http://www.mono-project.com/Mono:ARM if you are sure about this.
Operator overloading is simply syntactic sugar. I’m sure you are capable of writing applications without it. And Java can’t be without its own suitable frameworks surely.
Android is overflowing with java and its most likely easier not to try and fight it.