Xamarin allows developers to write their business logic in a single language and reuse existing application code, while still achieving native performance, appearance, and functionality on each platform.
Xamarin is based on an open-source platform that provides an abstraction layer that manages communication between shared code and the underlying platform code, running in a managed environment with features such as memory allocation and garbage collection.
Xamarin also offers a combination of core .NET classes and platform-specific classes that allow developers to build applications that can share core logic across iOS and Android while also utilising the unique features of each platform. The .NET classes specific to iOS and Android expose the unique capabilities of each platform, enabling developers to create native mobile apps that delivers a seamless user experience. This combination of core and platform-specific classes allows developers to create apps that are both highly functional and tailored to the specific features of the target platform.
Xamarin.Forms is a cross-platform, natively-backed User Interface (UI) toolkit abstraction that allows developers to create user interfaces that can be shared across Android, iOS, and Windows phones. As the user interfaces use the native controls of the target platforms, they have the appearance and importantly, the responsiveness of natively built apps.
Xamarin.Forms is a fantastic platform for those .NET programmers coming from Silverlight or WPF Background. Utilising XAML markup for UI configuration, and then pulling the standard Apple, Android and Windows phone themes allows applications to be made quickly, and still fit the standard operating system themes and styles.
It should be noted that Xamarin.Forms will only get you so far (simple apps, matching OS style). For more advanced layouts, you will need to use Xamarin Native.
Xamarin.Native is a C# wrapper around the native iOS and Android development stacks, allowing you to utilise C# code to create and deliver android and iOS applications from your visual studio environment.
Using the built-in visual studio plugin and linking your Windows-matched Mac development environment, you can build an iOS app directly from your visual studio instance, which makes turn around time for projects much quicker.
So do we. Get in touch.