Xamarin is a framework and a set of tools to make it possible to do native Android, iOS & Windows development in C# (.Net).
Xamarin (www.xamarin.com) is a Microsoft-owned San Francisco, California based software company founded in May 2011 by the engineers that created Mono, Mono for Android and MonoTouch that are cross-platform implementations of the Common Language Infrastructure (CLI) and Common Language Specifications (often called Microsoft .NET).
With a C#-shared code base, developers can use Xamarin tools to write native Android, iOS, and Windows apps with native user interfaces and share code across multiple platforms. Xamarin integrates with Visual Studio, Microsoft's IDE for the .NET Framework, extending Visual Studio for Android and iOS development. Over 1 million developers use Xamarin's products in more than 120 countries around the world.
Xamarin delivers native Android, iOS, and Windows apps. With Xamarin you can build native apps for multiple platforms on a shared C# codebase. Use the same IDE, language, and APIs everywhere. With Xamarin you can use the same language, API's and data structures to share an average of 75% of app code across all mobile development platforms. And if you build user interfaces with Xamarin.Forms you can share nearly 100%.
- Native UI, native API access and native performance
- Anything you can do in Objective-C, Swift, or Java you can do in C# with Xamarin
- Cutting-edge apps with same-day support for new OS releases
Native User Interfaces
Xamarin apps are built with standard, native user interface controls. Apps not only look the way the end user expects, they behave that way too.
Native API Access
Xamarin apps have access to the full spectrum of functionality exposed by the underlying platform and device, including platform-specific capabilities like iBeacons and Android Fragments.
Xamarin apps leverage platform-specific hardware acceleration, and are compiled for native performance. This can’t be achieved with solutions that interpret code at runtime.
The Xamarin framework consist among others of three major components: Xamarin.Android, Xamarin.iOS and Xamarin.Forms:
With Xamarin.Android you can create native Android apps developed in C# (.Net). Xamarin.Android uses just-in-time compilation for sophisticated run-time optimization of your app’s performance, meaning your app is a native Android APK. It also brings 100% of Google’s Android API's to C# and you can even create full-featured applications capable of running on Android Wear devices.
With Xamarin.iOS you can create native iOS apps for Apple devices (iPhone/iPad) developed in C# (.Net). The ahead-of-time compiler compiles Xamarin.iOS apps directly to native ARM assembly code, meaning your app is a native platform binary. It also brings 100% of Apple’s iOS SDK to C# and you can even create beautiful apps for the Apple Watch.
Xamarin.Forms is a powerful cross-platform UI toolkit that allows developers to easily create native user interface layouts that can be shared across Android, iOS, and Windows Phone. Xamarin.Forms maximizes code sharing. You design pages in an uniform mark-up and Xamarin.Forms translates the page at run-time to a platform specific representation. With Xamarin.Forms you can create apps for the three major (mobile) platforms with only a single code-base. Reducing development time and costs.