After working for years as a freelance .NET consultant I decided to use my C# skills also for the mobile platform. Using Microsoft Visual studio you would only be able to support the Windows Phone framework, but using Xamarin studio gives you more options.
Xamarin studio is a development environment that uses C# to make apps for the mobile platform and for Mono. This means that you can write apps in C# for Android, iOS (iPhone / iPad), Mac OSx and Linux.
Mono is comparable to the .NET framework. Although not everything that is available in the .NET framework is also supported in Mono, it comes pretty close!
After making several succesful iPhone and iPad apps using Xamarin I recently decided to also make some apps for the Android platform. Until now I didn’t want to do this because earning money with Android apps is more difficult than for iOS. People want the apps to be free on the Android platform and are a lot less willing to pay for apps. After I found out that putting ads in your apps can even earn you more than charging people for an app, I decided to see how much time it would take to make an Android app.
Because it would be my first real Android app, I decided to port one of my existing iOS apps to the Android platform. This would mean that I could focus on the Android specific things and issues and not on the logic of the program.
I quickly found out that Android has it’s own specific platform quirks. They revolved mostly around the fact that there are so many different devices and device manufacturers! Because of this you need to setup your user interface in a flexibel way, because the app doesn’t know what resolution the device has. Everything should just fit on every screen and screen resolution and if necessary wrap text in the most natural way. A bit like responsive website designs.
Android uses a form of XML and CSS to design the user interface. So in general you can say that, if you know how to program in C# and you know XML, HTML and CSS, you’re good to go and make Android apps! As long as you use Xamarin of course!
In the end, with my existing knowledge, it took me less than a week to port my iOS app to Android. Seeing that this was my first C# app for Android I think a week is ok. I’m now ready for my next Android app which I will built from scratch. This will probably make it a bit more challenging but that’s what makes it fun!