Integrated environment for building not only native Android but iOS and Windows apps too.
Ranked in these QuestionsQuestion Ranking
Xamarin is a platform on which you can build cross-platform mobile applications for Android, iOS and Windows Mobile and use only one codebase.
Pro Programming in C#
Allows you to write your programs in C#, a language much superior to Java, regarding expressiveness, readability and overall productivity.
Pro Allows .NET programmers to write Android Apps
Allows .NET programmers to write Android Apps.
Pro Open source
Xamarin.Android and the whole Xamarin SDK is free and open source and released under the MIT license.
Pro Fast build
Faster compared to Gradle-based systems.
Con Lacking third-party library support
Having to use third-party libraries in Xamarin can be a real pain. Since Xamarin uses C# and third-party libraries are written in Java, you have to create bindings to use them in a Xamarin app. Which is cumbersome and wastes a lot of time. Especially considering that the Xamarin docs are not very good when it comes to this part.
Con Too large to download
Since core Visual Studio comes about in 543 MB of download size, the Mobile App Development with C++ workload comes about ~4 GB, the issues with your bandwidth and internet connection can cause the components to re-download, wasting a considerable amount of internet.