What is Xamarin?
Xamarin is an open source app platform from Microsoft for building modern & performant (mobile) apps with C# and .NET. Xamarin extends the .NET developer platform with tools and libraries specifically for building apps for Android, iOS, tvOS, watchOS, macOS, Tizen and Windows.
With Xamarin, your entire app is written using C#, from back end code, such as business logic and data access, to native API access. Because Xamarin extends .NET, you can use the large ecosystem of packages and libraries available to all .NET developers. You can even author your own libraries that are shared between any applications written on the .NET platform.
Businesses worldwide, spanning all industries, use Xamarin and .NET to build performant native mobile apps. See mobile apps that other developers have created using Xamarin, .NET, and Visual Studio here.
Why use Xamarin?
Xamarin delivers native apps! Whether you're designing a uniform UI across platforms or building a native user interface, your apps will behave the way users expect. With the ability to access the full spectrum of functionality exposed by the underlying platform and device, as well as leveraging platform-specific hardware acceleration, and Xamarin apps are compiled for native performance. Apps not only look the way the end user expects, they behave that way too.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%.
Xamarin saves time and reduces costs by allowing developers to use much of the same codebase for iOS, Android and the other supported platforms. Recent versions of Xamarin allow developers to use the same codebase for visual elements as well. Maintenance is also easier and more effective with Xamarin, reducing the client’s costs over time. Overall, Xamarin provides a robust solution that clients should consider exploring.Xamarin applications easily integrate with Azure Cloud, Azure DevOps, App Center and many more platforms & toolkits. Everything you need to power your mobile front-end.
- Native UI, native API access and native performance.
- Xamarin is one of the most cost-effective and time-efficient platforms used for building apps for different operating systems.
- 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.
- Many integrations & toolkits available.
- Microsoft support.
- .NET is free, and that includes Xamarin. There are no fees or licensing costs, including for commercial use.
- Open source.
- Future ready.
Xamarin is ready for the future. Late 2021 / early 2022 Microsoft will release .NET MAUI. .NET MAUI will be an evolution of the increasingly popular Xamarin.Forms and will be build on the latest .NET technology: .NET 6. Xamarin.Forms applications will be able to migrate to this newest technology with only minor adjustments. Be prepared for this near future and just start creating/designing/building your new apps now with Xamarin.Forms and migrate to the latest features of .NET MAUI later.
Three Main Flavors of Xamarin
Xamarin comes in 3 main flavors:
Xamarin.Forms maximizes code sharing. Xamarin.Forms is an open source cross-platform framework from Microsoft for building iOS, Android, macOS & Windows apps with .NET from a single shared codebase!
It is more than just a cross-platform UI library, it is a full application framework that includes everything you need to build mobile apps. This includes cross-platform navigation, animation APIs, dependency service, messaging center, and more. The Visual API in Xamarin.Forms helps to deliver a consistent design look and feel across your iOS and Android apps. Visual includes built in support for Material Design, and is fully extensible.
With Xamarin.iOS you can create native iOS apps for Apple devices (iPhone & iPad). 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 using watchOS. In the latest versions of Xamarin it is now also possible to create apps for macOS.
With Xamarin.Android you can create native Android apps. Xamarin.Android uses just-in-time or ahead-of-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 Wear OS devices.