Native i os, android, and windows development in c# with xamarin 4

44
James Montemagno Developer Evangelist, Xamarin 4 The future of apps @JamesMontemagno

Transcript of Native i os, android, and windows development in c# with xamarin 4

Page 1: Native i os, android, and windows development in c# with xamarin 4

James MontemagnoDeveloper Evangelist, Xamarin

4

The future of apps

@JamesMontemagno

Page 2: Native i os, android, and windows development in c# with xamarin 4

Make it fast, easy, and fun to create great mobile apps.

Xamarin’s Mission

Page 3: Native i os, android, and windows development in c# with xamarin 4

Xamarin – Your Complete Mobile Solution

BUILD TEST MONITOR

ACCELERATE

Page 4: Native i os, android, and windows development in c# with xamarin 4

BUILD TEST MONITOR

ACCELERATE

Xamarin – Your Complete Mobile Solution

Page 5: Native i os, android, and windows development in c# with xamarin 4

Xamarin’s Unique Approach

Shared C# codebase • 100% native API access • High performance

iOS C# UI Windows C# UIAndroid C# UI

Shared C# Mobile

Page 6: Native i os, android, and windows development in c# with xamarin 4

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 7: Native i os, android, and windows development in c# with xamarin 4

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 8: Native i os, android, and windows development in c# with xamarin 4

Android – 100% API Coverage

Text-‐to-‐speech ActionBar Printing Framework Renderscript NFC

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

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

Page 9: Native i os, android, and windows development in c# with xamarin 4

Native Performance

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.

.NET

C# Compileand Link .APK

Bindings

RunsNatively

IL+

JIT

Page 10: Native i os, android, and windows development in c# with xamarin 4

✓Always Up-‐to-‐Date

••••••

•••••

Page 11: Native i os, android, and windows development in c# with xamarin 4

Visual Studio Xamarin Studio

Page 12: Native i os, android, and windows development in c# with xamarin 4

Xamarin.com/Download

Visual Studio Integration

Page 13: Native i os, android, and windows development in c# with xamarin 4
Page 14: Native i os, android, and windows development in c# with xamarin 4

Let’s take a look

Page 15: Native i os, android, and windows development in c# with xamarin 4

Meet Xamarin.Forms

Page 16: Native i os, android, and windows development in c# with xamarin 4

Xamarin + Xamarin.Forms

Traditional Xamarin Approach

With Xamarin.Forms:More code-‐sharing, all native

iOS C# UI Windows C# UIAndroid C# UI

Shared C# Backend

Shared UI Code

Shared C# Backend

Page 17: Native i os, android, and windows development in c# with xamarin 4

What’s included

✓ 40+ Pages, layouts, and controls(﴾Build from code behind or XAML)﴿

✓ Two-‐way data binding✓ Navigation✓ Animation API✓ Dependency Service✓ Messaging Center

Shared C# Backend

Shared UI Code

Page 18: Native i os, android, and windows development in c# with xamarin 4

Layouts

Pages

Stack Absolute Relative Grid ContentView ScrollView Frame

Content MasterDetail Navigation Tabbed Carousel

Page 19: Native i os, android, and windows development in c# with xamarin 4

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 20: Native i os, android, and windows development in c# with xamarin 4

Xamarin.Forms Ecosystem

Page 21: Native i os, android, and windows development in c# with xamarin 4

Windows Xamarin.FormsStackPanel StackLayoutTextBox EntryListBox ListViewCheckBox SwitchProgressBar ActivityIndicatorGrid GridLabel LabelButton ButtonImage ImageDate/TimePicker Date/TimePicker

Control Comparison

Page 22: Native i os, android, and windows development in c# with xamarin 4

Windows Xamarin.Forms

DataContext BindingContext

{Binding Property} {Binding Property}

ItemsSource ItemsSource

ItemTemplate ItemTemplate

DataTemplate DataTemplate

BindingComparison

Page 23: Native i os, android, and windows development in c# with xamarin 4

PlatformCustomization

Page 24: Native i os, android, and windows development in c# with xamarin 4

<?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>

Native UI from shared code

Page 25: Native i os, android, and windows development in c# with xamarin 4

Let’s take a look

Page 26: Native i os, android, and windows development in c# with xamarin 4

9

What’s new in Xamarin Platform?

Enhanced VS IntegrationXamarin.Forms 2.0 iOS 9 & Android M PreviewTechnologies

Page 27: Native i os, android, and windows development in c# with xamarin 4

Xamarin.Forms 2.0

Page 28: Native i os, android, and windows development in c# with xamarin 4

Xamarin.Forms 2.0: Material Design

https://blog.xamarin.com/material-‐design-‐for-‐your-‐xamarin-‐forms-‐android-‐apps/

Page 29: Native i os, android, and windows development in c# with xamarin 4

Xamarin.Forms 2.0: Material Design

https://blog.xamarin.com/material-‐design-‐for-‐your-‐xamarin-‐forms-‐android-‐apps/

Page 30: Native i os, android, and windows development in c# with xamarin 4

Xamarin.Forms 2.0: ListView Optimizations

http://developer.xamarin.com/guides/cross-‐platform/xamarin-‐forms/user-‐interface/listview/performance/

Page 31: Native i os, android, and windows development in c# with xamarin 4

Xamarin.Forms 2.0: ListView Optimizations

http://developer.xamarin.com/guides/cross-‐platform/xamarin-‐forms/user-‐interface/listview/performance/

Page 32: Native i os, android, and windows development in c# with xamarin 4

Xamarin.Forms 2.0: XAML Optimizations

https://developer.xamarin.com/guides/cross-‐platform/xamarin-‐forms/user-‐interface/xaml-‐basics/xamlc/

Page 33: Native i os, android, and windows development in c# with xamarin 4

Xamarin.Forms 2.0: XAML Optimizations

https://developer.xamarin.com/guides/cross-‐platform/xamarin-‐forms/user-‐interface/xaml-‐basics/xamlc/

Page 34: Native i os, android, and windows development in c# with xamarin 4

Xamarin.Forms 2.0: Windows 10 (﴾UWP)﴿ Preview

https://blog.xamarin.com/getting-‐started-‐with-‐xamarin-‐forms-‐windows-‐10-‐preview/

Page 35: Native i os, android, and windows development in c# with xamarin 4

Let’s take a look

Page 36: Native i os, android, and windows development in c# with xamarin 4

Visual Studio Integration Enhancements

Page 37: Native i os, android, and windows development in c# with xamarin 4

9

Enhanced iOS & Android Designers

Page 38: Native i os, android, and windows development in c# with xamarin 4

Preview Technologies

Profiler Objective SharpieCocoaPod Integration Inspector

Page 39: Native i os, android, and windows development in c# with xamarin 4

Get Started Todayxamarin.com

Page 40: Native i os, android, and windows development in c# with xamarin 4

Free 30 Day Trial -‐ xamarin.com/university

Unrivaled Mobile Development

Training

Live unlimited mobile development training from mobile experts, in your time-‐zone, on your schedule, and as often as you'd like.

Page 41: Native i os, android, and windows development in c# with xamarin 4

evolve.xamarin.com

Page 42: Native i os, android, and windows development in c# with xamarin 4
Page 43: Native i os, android, and windows development in c# with xamarin 4

Resources:

Page 44: Native i os, android, and windows development in c# with xamarin 4

Thank you.

JamesMontemagnoDeveloper Evangelist, Xamarin

[email protected] motzcod.es @JamesMontemagno

Questions?