what's new in xamarin.forms?

45
What’s new in Xamarin.Forms? James Montemagno @JamesMontemagno

Upload: james-montemagno

Post on 21-Jan-2017

603 views

Category:

Engineering


1 download

TRANSCRIPT

Page 1: What's new in Xamarin.Forms?

What’s new in Xamarin.Forms?

James Montemagno @JamesMontemagno

Page 2: What's new in Xamarin.Forms?

Who’s this guy?

JamesMontemagnoDeveloper Evangelist, Xamarin

[email protected] motzcod.es @JamesMontemagno

Page 3: What's new in Xamarin.Forms?

Xamarin’s Unique Approach

SharedC#codebase•100%nativeAPIaccess•Highperformance

iOSC#UI WindowsC#UIAndroidC#UI

SharedC#Logic

Page 4: What's new in Xamarin.Forms?

Windows APIs

Microsoft.Phone Microsoft.Networking Windows.Storage Windows.Foundation Microsoft.Devices

System.Data System.Windows System.Numerics System.Core System.ServiceModel

System.Net System System.IO System.Linq System.Xml

Page 5: What's new in Xamarin.Forms?

iOS – 100% API Coverage

MapKit UIKit iBeacon CoreGraphics CoreMotion

System.Data System.Windows System.Numerics System.Core System.ServiceModel

System.Net System System.IO System.Linq System.Xml

Page 6: What's new in Xamarin.Forms?

Android – 100% API Coverage

Text-to-speech ActionBar PrintingFramework Renderscript NFC

System.Data System.Windows System.Numerics System.Core System.ServiceModel

System.Net System System.IO System.Linq System.Xml

Page 7: What's new in Xamarin.Forms?

Native Performance

Xamarin.iOS doesfullAheadOfTime(AOT)compilationtoproduceanARMbinaryforApple’sAppStore.

Xamarin.Android takesadvantageofJustInTime(JIT)compilationontheAndroiddevice.

Page 8: What's new in Xamarin.Forms?

WriteEverythinginC#C#NowRunson2.6+BillionDevices

Page 9: What's new in Xamarin.Forms?

✓Always Up-to-Date

Same-day support:• iOS 5• iOS 6• iOS 7• iOS 7.1• iOS 8• iOS 9

Full support for:• Apple Watch• Google Glass• Android Wear• Amazon Fire TV• and much more

Page 10: What's new in Xamarin.Forms?

Visual Studio Xamarin Studio

Page 11: What's new in Xamarin.Forms?

Anything you can do in Objective-C, Swift, or Javacan be done inC#andVisualStudiowithXamarin.

Page 12: What's new in Xamarin.Forms?

Xamarin Platform is included

with Visual Studio!

Page 13: What's new in Xamarin.Forms?

Xamarin Platform is Open Source!

open.xamarin.com

Page 14: What's new in Xamarin.Forms?

Meet Xamarin.Forms

Build native UIs for iOS, Android, and Windows from a single, shared C# codebase.

Page 15: What's new in Xamarin.Forms?

Xamarin + Xamarin.Forms

TraditionalXamarinApproach WithXamarin.Forms:More code-sharing, all native

iOSC#UI WindowsC#UIAndroidC#UI

SharedC#Logic

Xamarin.Forms

SharedC#Logic

Page 16: What's new in Xamarin.Forms?

What’s included

✓ 40+Pages,layouts,andcontrols(BuildfromcodebehindorXAML)

✓ Two-waydatabinding

✓ Navigation

✓ AnimationAPI

✓ DependencyService

✓ MessagingCenter

SharedC#Logic

SharedUICode

Page 17: What's new in Xamarin.Forms?

Layouts - Pages

Stack Absolute Relative Grid ContentView ScrollView Frame

Content MasterDetail Navigation Tabbed Carousel

Page 18: What's new in Xamarin.Forms?

ActivityIndicator BoxView Button DatePicker Editor

Entry Image Label ListView Map

OpenGLView Picker ProgressBar SearchBar Slider

Stepper TableView TimePicker WebView EntryCell

ImageCell SwitchCell TextCell ViewCell

Controls

Page 19: What's new in Xamarin.Forms?

Xamarin.Forms Ecosystem

Page 20: What's new in Xamarin.Forms?

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 --></ContentPage></TabbedPage.Children>

Page 21: What's new in Xamarin.Forms?

Xamarin.Forms 2.0✓ XAML compilation✓ Android AppCompat✓ ListViewCachingStrategy✓ PanGestureRecognizer

joins Tap and Pinch J✓Windows 10 (UWP) Preview in addition to WinRT

Page 22: What's new in Xamarin.Forms?

XAML Compilation✓ Surface mark up errors at compile time✓ Improves performance✓ Opt-in (may change)

[assembly:XamlCompilation (XamlCompilationOptions.Compile)]

Page 23: What's new in Xamarin.Forms?

AppCompat.Forms

• Same theme• Same attributes• New Activity Base• FormsAppCompatActivity

• 2 new resources• Tabs & Toolbar

Page 24: What's new in Xamarin.Forms?

https://developer.xamarin.com/guides/xamarin-forms/platform-features/android/appcompat/

Android AppCompat

Page 25: What's new in Xamarin.Forms?

ListViewCachingStrategy

✓ Improves scrolling performance✓ Old behavior is currently the default (but likely to change)

Page 26: What's new in Xamarin.Forms?

Windows Support✓WinRT APIs for Windows Phone 8.1✓WinRT APIs for Windows 8.1✓ Universal Windows Platform for Windows 10

X Windows Phone 8 (Silverlight) will be deprecated

Page 27: What's new in Xamarin.Forms?

2.0! Go!

Page 28: What's new in Xamarin.Forms?

Xamarin.Forms 2.1✓ Control Templates✓ DataTemplateSelector✓ Effects

X BindableProperty.Create<TDeclarer,TPropertyType> has been deprecated

Page 29: What's new in Xamarin.Forms?

Control Templates I

Page 30: What's new in Xamarin.Forms?

Control Templates II

Page 31: What's new in Xamarin.Forms?

Data Templates

Page 32: What's new in Xamarin.Forms?

Data Templates

Page 33: What's new in Xamarin.Forms?

Effects I✓ Custom renderer “lite”✓ Change properties on the native control✓ Optional✓ “stringly-typed”

X No methods or eventsX No replacing the control

Page 34: What's new in Xamarin.Forms?

Effects IIentry.Effects.Add (Effect.Resolve("Xamarin.BorderEffect"));

Page 35: What's new in Xamarin.Forms?

2.1! Go!

Page 36: What's new in Xamarin.Forms?

Xamarin.Forms 2.2✓ Maintenance Release✓ Google Play Services / Support Libraries✓ Margins✓ UWP Maps✓ 2D ScrollView Support✓ CarouselView

Page 37: What's new in Xamarin.Forms?
Page 38: What's new in Xamarin.Forms?

XAML Previewer

Page 39: What's new in Xamarin.Forms?

URL Navigation

Page 40: What's new in Xamarin.Forms?

DataPages

https://developer.xamarin.com/guides/xamarin-forms/datapages/

Page 41: What's new in Xamarin.Forms?

Themes

https://developer.xamarin.com/guides/xamarin-forms/themes/

Page 42: What's new in Xamarin.Forms?

Native Embedding

Page 43: What's new in Xamarin.Forms?

2.3! Go!

Page 44: What's new in Xamarin.Forms?

Resources

• Xamarin.Forms Documentation• https://developer.xamarin.com/guides/xamarin-forms/

• Xamarin.Forms Book by Charles Petzold• http://bit.ly/xamarin-forms-book

• Evolve 2016 App • http://github.com/XamarinHQ/app-evolve

Page 45: What's new in Xamarin.Forms?

JamesMontemagnoDeveloperEvangelist,Xamarin

[email protected] motzcod.es @JamesMontemagno

Thank you!