Since the beginning of Xamarin's life as a company, their motto has always been to present the native APIs on iOS and Android idiomatically to C#. This was a great strategy in the beginning, because applications built with Xamarin.iOS or Xamarin.Android were pretty much indistinguishable from native Objective-C or Java applications. Code sharing was generally limited to non-UI code, which left a potential gap to fill in the Xamarin ecosystem: a cross-platform UI abstraction. Xamarin.Forms is the solution to this problem, a cross-platform UI framework that renders native controls on each platform. Xamarin.Forms
is a great framework for those that know C# (and XAML), but also may not want to get into the full details of using the native iOS and Android APIs.
In this chapter, we will do the following:
Create Hello World in Xamarin.Forms
Discuss the Xamarin.Forms architecture
Use XAML with Xamarin.Forms
Cover data binding and MVVM with Xamarin.Forms