I'm at a bit of a cross roads. I'm a seasoned C# developer. I want to create a software application that uses the Android platform. I need to know given some criteria which is better for developing the software for Android.

I know C#. I don't know Java but I'm more than prepared to learn it.
Which platform (C# - using Xamarin) or Java would make my development route easier.
Among the techs I need to use includes location, maps, access web services, store data locally (on the phone).
I also need to know if there are any easy ORMS to use in each language, gui generators (e.g. automatically generate views from a class).

Given my criteria and YOUR personal experience using BOTH techs (C#, Java) to create android software can you recommend to me which route I should take. Please be as thorough as possible in your reasoning.

  • 1
    "I want to create a software application that leverages the Android platform": Are you writing this app specifically for Android? Or is Android just one of the targets? This could be a great question but please reformulate before it gets closed based on meta.softwarerecs.stackexchange.com/questions/69/… – Nicolas Raoul Apr 7 '16 at 6:45
  • 1
    Leverages.. i.e. uses Android. Not anything else – Eminem Apr 7 '16 at 6:59

Your Answer


Browse other questions tagged or ask your own question.