Xamarin is a C# based solution for cross platform apps development. Using the capabilities of C# and wrapping all native iOS and Android libraries allows Xamarin to make changes, over the course of the project lifetime, and making improvements to the application rather quickly. The code base is shared so the main effort needs to be focused on UI implementation for different platforms.Since all the native features are supported in the end apps are looking and perfrom in a native way.
Other Major CrossPlatforms Are PhoneGap and Titanium.
Xamarin is the right choice over PhoneGap with following advantages.
- Xamarin gives near native performance and 20% of fortune 500 companies using Xamarin.
•Code sharing between iOS, Android, various windows flavors.
•It provides an easy and cost effective entry into iOS and Android for .Net/ C# developers.
- Xamarin has TestCloud which allows you to test your apps automatically.
- Support for LINQ (ease to access DB entity).
- Provides 100% code reuse with Xamarin.Forms UI development using shared code base and logic. This saves a lot of time and resources .
- Supports patterns like MVC and MVVM.
- Xamarin.Android supports Google Glass devices, Android Wear, and Firephone .
- Learning curve is relative. If your team knows C#, it is comparatively easy to get started with Xamarin.
The Major Reasons Are
Major IDE enhancements
Improved code sharing:
Xamarin 3 introduces two great new code sharing techniques for cross-platform apps:
Shared Projects provide a simple, clean approach to code sharing for cross-platform application developers. Xamarin developers can now use Shared Projects to share code across iOS, Android, and Windows in either Xamarin Studio or Visual Studio.
•Portable Class Libraries
Portable Class Libraries are libraries that are consumable across a diverse range of .NET platforms. Xamarin 3 can both produce and consume PCLs from both Xamarin Studio and Visual Studio.
Xamarin binds the same APIs and UI controls that are used to build iOS, Android and Mac apps in their respective platform specific languages. For Windows development, Xamarin with Microsoft Visual Studio offers Windows Phone and Windows 8 applications. Code can be shared between iOS, Android and Windows using Portable Class Libraries (PCL) and appropriate application architecture.
Native User Interfaces
Native API Access
More Types, Less Typing
Stronger Types, Smarter Tools