A) What is Xamarin
Xamarin is a cross-platform development tool. It solves dilemmas many developers face when developing cross-platform apps: separate coding languages and UI paradigms. With Xamarin, you can use C# for iOS, Android, and Universal Windows apps. And with Xamarin Forms, interface design for all three platforms can be accomplished within its XAML-based framework.
B) Why Xamarin :
Xamarin Studio (IDE) enables code completion in C#. It provides the advantages of native UI, access to specific-device features, and most importantly, native performance. Code sharing across platforms is a breeze with Xamarin, helping you shorten that development cycle.
C) Advantages of Xamarin :
Powerful IDE –You can integrate it with modern integrated development environments (IDEs) –for example, Xamarin Studio and Microsoft Visual Studio.
High Quality Compiled Code – The code you will compile with Xamarin is both dynamic and high-performing. The best part is that the compiled code can access all native APIs fully, meaning you can create apps that deliver device-specific experiences across different mobile platforms.
Option to Keep NativeUI – I know some developers would love this part. Xamarin gives you freedom to keep the native UIs across iOS, Android and Windows. This means you that you can preserve the application’s native performance and save time while sharing the code base and application logic, and extending the API coverage.
Can be integrated with different mobile SDKs – You can seamlessly integrate Xamarin with the SDK of individual mobile operating systems. This means, you can use the same code again and again, while still availing the native controls of different mobile devices.
Supports multipledevices – Xamarin supports different types of devices like mobile phones, tablets and wearable devices (e.g., Google Glass devices). You can create innovative apps by combining Xamarin Studio, and Android SDK and GDK.
Facilitates testing –Developers normally spend a lot of time in optimizing look, feel and performance of the app. To avoid it, you can use Xamarin Test Suite that will automatically test the mobile app on 1K real devices in the cloud.
Allows performance monitoring – You can use Xamarin Insight to keep track of exceptions and crashes, and improve the application’s performance.
Last but not the least- reap benefits of C# –
Xamarin facilitates developers to use C# to accomplish all tasks that could be performed using Objective-C and Java. And I think using C# can significantly effectuate mobile app development.