3 ms·
I spend a lot of time in Xamarin so I'm biased in that direction, here's why I think it might bring more of an advantage than you think. C# is IMO a significan
by m_fayer 10y ago
I spend a lot of time in Xamarin so I'm biased in that direction, here's why I think it might bring more of an advantage than you think.
C# is IMO a significant step up from whatever Java is running in Android. It's a much richer language as far as syntactic sugar (see properties, type inference), and fundamentals - optional dynamic typing, better generics than Java, and gotcha-free lambdas. The biggest advantage though is async/await, which puts c# miles ahead of Java when it comes to concurrency, something that's oh-so-important in mobile land. And of course Xamarin opens up F#, which is a whole different story.
Also, C# opens up some frameworks that will give you significantly more modern techniques than what can be easily done in vanilla native Android dev. Take a look at ReactiveUI and MvvmCross, and a recent favorite - https://github.com/RolandPheasant/DynamicData https://github.com/RolandPheasant/DynamicData
Now that it's free and doesn't require Windows, I definitely think anyone trying to build significant native Android apps should at least take a look.