The best things i like about Xamarin :
1) Using Xamarin forms i am able to develop android and iOS app without even learning any android programming or ios programming languages. Just with normal c# language i am able to develop app which made me feel more comfort and more user friendly. Any body with knowledge of c# can start developing app using Xamarin which is making most of company to go to xamarin since there will be more dot net developers.
2)It will take less period to know about Xamarin and start working on it, since it is integrated with Visual Studio IDE so, dot net developer will feel more comfort working with xamarin.
3)We can develop cross platform application with single code which can be shared with respective native project while comiling. So with single code we can develop app for android, iOS and windows parallel.
4)Since Visual Studio Community edition comes with Xamarin, any user can download this Visual studio community edition which is free of cost and start developing app without any cost of software.
5)Setting up resource is very simple, it just needs PC with normal configuration.
6)If u enable USB debugging in android device, u can directly debug and test your app in physical device instead of emulator which is more efficient. And in iOS device also we can debug.
7)Since Xamarin allows packages/plugins from nuget.org website, u can install any package from nuget.org for functionalities like accessing camera, sending SMS, fetching GPS etc with installing packages and using it, which saves writing code for these functionality. Using packages saves time on spending writing native codes for native functionality.
8)Xamarin allows us to log errors and track usage in Xamarin insight which is very useful for tracking the performance and usability of app.
9)Using Xamarin any dot net or c# developer can start developing an app which makes any company to start using xamarin and start to build app with normal dot net or c# developer.
10)Code sharing or managing is easy with Xamarin, since it is integrated with Visual studio we can save or manage xamarin code using Team Foundation Server.
11)Using Xamarin Previewer we can view UI after making changes or coding which is handfull for developer. Rather than checking the changes or viewing the UI by deploying in emulator or Physical device, with help of Xamarin previewer we can see UI at that point only which saves time while designing UI for the app.
12)Using modal view view modal(mvvm) concept we can make Xamarin app free from hanging or freezing the screen and increase the performance of app using asynchronous calls/execution.
13)Currently Xamarin is best for cross platform mobile app development, because using c# language we can develop app with less time compared to other. Review collected by and hosted on G2.com.