Xamarin is an open source platform for building modern & high-performing iOS and Android apps with C# and .NET.
It was created in 2011 and acquired by Microsoft in 2016.
Xamarin allows engineers to share about 90% of code across platforms.
It also supports building apps for wearables, such as Wear OS (Google) & watchOS (Apple) devices. Additionally, developers can use Xamarin.Mac to build applications for Mac OS.
Mobile apps can be built in two ways using Xamarin. The main approach is to use Xamarin.iOS and Xamarin.Android.
It allows building native iOS and Android apps that have native UI and performance, along with access to 100% of built-in device features.
There is also a second one which is using Xamarin.Forms. It is the best solution for building apps where code sharing is more important than custom UI.
With it, engineers create a single interface which is shared across platforms without designing for each platform individually.
In comparison with native apps development for each platform separately
Compared to support of two separate code bases for iOS and Android
Unlike majority of other frameworks for cross-platform development
Unlike the case with PWAs
Unlike Progressive Web Apps and Flutter development
In comparison with any other framework for cross-platform development
Many big-name companies used Xamarin to build their mobile applications.
Here are just a few of them:
BBVA helps customers find properties for rent or sale with Augmented Reality, 2D heat map features, and more
Read MoreThere are some cases when it makes more sense to use native mobile development instead of cross-platform.
For example, if there is a need in some complicated deep integrations with native components or hardware, or in implementation of sophisticated UI design elements, animations, heavy graphics.
Sometimes businesses simply don’t plan to support more than one mobile platform.
In such situations, our developers use their knowledge and skills in native mobile development.
For Android apps they use Kotlin and for iOS – Swift programming language.