Microsoft Build 2016 6/23/2018 11:01 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
iOS, Android, and Windows apps in C# and XAML with Xamarin.Forms James Montemagno Xamarin
Xamarin’s Unique Approach Build 2015 6/23/2018 11:01 AM Xamarin’s Unique Approach Windows-specific C# Android-specific C# iOS-specific C# C# Shared Logic Shared C# codebase • 100% native API access • High performance © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Windows APIs Microsoft.Phone Windows.Storage Microsoft.Devices Microsoft.Networking Windows.Storage Windows.Foundation Microsoft.Devices System.Net System System.IO System.Linq System.Xml System.Data System.Windows System.Numerics System.Core System.ServiceModel
iOS – 100% API Coverage MapKit UIKit iBeacon CoreGraphics CoreMotion Build 2015 6/23/2018 11:01 AM iOS – 100% API Coverage MapKit UIKit iBeacon CoreGraphics CoreMotion System.Net System System.IO System.Linq System.Xml System.Data System.Windows System.Numerics System.Core System.ServiceModel © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Android – 100% API Coverage Build 2015 6/23/2018 11:01 AM Android – 100% API Coverage Text-to-speech ActionBar Printing Framework Renderscript NFC System.Net System System.IO System.Linq System.Xml System.Data System.Windows System.Numerics System.Core System.ServiceModel © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Native Performance AOT .APP Xamarin.iOS does full Ahead Of Time (AOT) compilation to produce an ARM binary for Apple’s App Store. Xamarin.Android takes advantage of Just In Time (JIT) compilation on the Android device.
Visual Studio Integration
6/23/2018 Anything you can do in Objective-C, Swift, or Java can be done in C# and Visual Studio with Xamarin. © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Visual Studio Integration Xamarin.com/Download
Meet Xamarin.Forms Build native UIs for iOS, Android, and Windows from a single, shared C# codebase.
Xamarin + Xamarin.Forms Microsoft Build 2016 6/23/2018 11:01 AM Xamarin + Xamarin.Forms Windows-specific C# Android-specific C# iOS-specific C# C# Shared Logic Xamarin.Forms C# Shared Logic Traditional Xamarin Approach With Xamarin.Forms: More code-sharing, all native © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
What’s included Xamarin.Forms ✓ 40+ Pages, layouts, and controls (Build from code behind or XAML) ✓ Two-way data binding ✓ Navigation ✓ Animation API ✓ Dependency Service ✓ Messaging Center Xamarin.Forms C# Shared Logic
Layouts Pages Content MasterDetail Navigation Tabbed Carousel Stack Absolute Relative Grid ContentView ScrollView Frame Layouts
Controls ActivityIndicator BoxView Button DatePicker Editor Entry Image Label ListView Map OpenGLView Picker ProgressBar SearchBar Slider Stepper TableView TimePicker WebView EntryCell ImageCell SwitchCell TextCell ViewCell
Xamarin.Forms Ecosystem
Native UI from shared code <?xml version="1.0" encoding="UTF-8"?> <TabbedPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="MyApp.MainPage"> <TabbedPage.Children> <ContentPage Title="Profile" Icon="Profile.png"> <StackLayout Spacing="20" Padding="20" VerticalOptions="Center"> <Entry Placeholder="Username" Text="{Binding Username}"/> <Entry Placeholder="Password" Text="{Binding Password}" IsPassword="true"/> <Button Text="Login" TextColor="White" BackgroundColor="#77D065" Command="{Binding LoginCommand}"/> </StackLayout> </ContentPage> <ContentPage Title="Settings" Icon="Settings.png"> <!-- Settings --> </TabbedPage.Children>
Platform Customization
Let’s take a look
Xamarin.Forms 2.0 Xamarin.Forms ✓ Windows 10 UWP ✓ Control Templates ✓ Data Template Selectors ✓ More Gestures (Pinch & Pan) ✓ XAML Compilation ✓ Effects ✓ Android Material Design Xamarin.Forms C# Shared Logic
Free Xamarin.Forms Book PDF, ePub, Kindle, iBooks, Google Play Books & More By Charles Petzold http://bit.ly/xamarin-forms-book
Get Started Today Xamarin.com
Resources Code: Get Started: Follow me: http://github.com/jamesmontemagno/MyWeather.Forms Get Started: http://xamarin.com Follow me: GitHub: JamesMontemagno Twitter: @JamesMontemagno
6/23/2018 11:01 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.