but a multi platform framework. • Xamarin wraps all platform codes in C#. • Xamarin mobile platforms • Xamarin Android • Tamarin Mac • Xamarin iOS • Xamarin Forms
Control in Shared Code namespace Apollo { public class CustomLabel : Label { } } • Define Custom UI implementation in each platform • iOS [assembly: ExportRenderer(typeof(CustomLabelRenderer), typeof(CustomLabel))] namespace Apollo.iOS { public class CustomLabelRenderer: LabelRenderer { protected override void OnElementChanged (ElementChangedEventArgs<Label> e) { base.OnElementChanged (e); var label = (UILabel) Control; // Customize your UILabel here } } }
C# for shared codebase (Good for existing .NET Developers) • Single code base (UI and logic) • Easy to use MVVM architecture (Easy data binding support both in XAML and C# codes) • Cons • No UI (XAML) preview • Different license to build each platform • Not easy to import/use native library