Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

Native User Interfaces Native API Access Native Performance

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

Silo approach iOS Windows Android Objective-C/Swift Xcode C# Visual Studio Java Android Studio No shared code • Many languages and development environments • Multiple teams

Slide 8

Slide 8 text

Write once, run anywhere Lua Javascript Actionscript HTML+CSS Limited native API access • Slow performance • Poor user experience App generator

Slide 9

Slide 9 text

iOS C# UI Windows C# UI Android C# UI Shared C# logic Xamarin’s unique approach Shared C# codebase • 100% native API access • High performance

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

Xamarin Native approach 3 Native User Interfaces Shared App Logic Shared C# Logic Windows C# Android C# iOS C#

Slide 12

Slide 12 text

Xamarin.Forms - Cross Platform UI Shared Native User Interface Shared App Logic Shared C# Logic Shared UI Code

Slide 13

Slide 13 text

Layouts Pages Stack Absolute Relative Grid ContentView ScrollView Frame Content MasterDetail Navigation Tabbed Carousel

Slide 14

Slide 14 text

ActivityIndicator BoxView Button DatePicker Editor Entry Image Label ListView Map OpenGLView Picker ProgressBar SearchBar Slider Stepper TableView TimePicker WebView EntryCell ImageCell SwitchCell TextCell ViewCell

Slide 15

Slide 15 text

Native UI ContentPage Label Picker Android Activity / Fragment TextView AlertDialog + LinearLayout + EditText + NumberPicker iOS UIViewController UILabel UITextField + UIPickerView + UIToolbar + UIBarButtonItem UWP Page TextBlock ComboBox developer.xamarin.com/guides/xamarin-forms/application-fundamentals/custom-renderer/renderers/

Slide 16

Slide 16 text

DependencyService MessagingCenter Navigation Themes

Slide 17

Slide 17 text

MvvmCross MvvmLight Prism FreshMvvm ReactiveUI And more…

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

https://javiersuarezruiz.wordpress.com/2018/08/20/xamarin-forms-challenge-pulsemusic/

Slide 21

Slide 21 text

https://t.co/t1DTDGUsv0

Slide 22

Slide 22 text

https://www.thewissen.io/xamarin-forms-ui-spotify/

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

Effect Custom Renderer From standard experiences to total control

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

No content

Slide 28

Slide 28 text

No content

Slide 29

Slide 29 text

No content

Slide 30

Slide 30 text

No content

Slide 31

Slide 31 text

[assembly: XamlCompilation (XamlCompilationOptions.Compile)] Namespace MyApp { …. https://developer.xamarin.com/guides/xamarin-forms/application-fundamentals/data-binding/compiled-bindings/

Slide 32

Slide 32 text

xmlns:android="clr-namespace:Xamarin.Forms.PlatformConfiguration.AndroidSpecific;assembly=Xamarin.Forms.Core" android:ListView.IsFastScrollEnabled="true"

Slide 33

Slide 33 text

Button, Image, Label AppCompatButton AppCompatButton

Slide 34

Slide 34 text

No content

Slide 35

Slide 35 text

ContentPage 2 3 4 5 6 7

Slide 36

Slide 36 text

Uncompressed 130 Views Compressed 111 Views Compressed + Fast Renderers 70 Views

Slide 37

Slide 37 text

 Xamarin.Forms Supported Features • XAML Compilation • Bindings • MessagingCenter • DependencyService • Create • UIViewController • Activity • Fragment • FrameworkElement Xamarin.Forms Shared C# Logic Windows C# Android C# iOS C#

Slide 38

Slide 38 text

CreateViewController()

Slide 39

Slide 39 text

No content

Slide 40

Slide 40 text

No content

Slide 41

Slide 41 text

https://github.com/xamarin/xamarin-android/wiki/Build-Performance-Results

Slide 42

Slide 42 text

No content

Slide 43

Slide 43 text

No content

Slide 44

Slide 44 text

No content

Slide 45

Slide 45 text

No content

Slide 46

Slide 46 text

No content

Slide 47

Slide 47 text

www.livexaml.com http://gorillaplayer.com https://github.com/ylatuya/XAMLator

Slide 48

Slide 48 text

No content

Slide 49

Slide 49 text

No content

Slide 50

Slide 50 text

F100: Addressing the Little Things SearchBar IsSpellCheckEnabled ImeOptions DesignModeEnabled Android Bottom Tabs WebView mixed content (Android) WebView evaluate javascript Binding Mode OneTime ProgressBar colors Switch colors Slider colors Hide scroll bars Button AccessKey TabbedPage Icons (UWP) Drop Shadows (iOS/UWP) App DI Container Hooks Button Padding Page TitleView BoxView rounded corners WKWebView for iOS Entry/Editor - IsSpellCheckEnabled - MaxLength - DetectReadingOrderFromContent (UWP) - Text prediction options - Autocapitalization - AutoResizable Editor - ButtonType for return button - Position and Color of caret - Placeholder color Label - Bindable Spans - Commandable Spans, Span Gestures - LineHeight ListView - Full width separators - SelectionMode Coming Soon Label MaxLines Entry Read-Only ImageButton GIF Support Button and Label Parity PinsSource on Forms.Map WebView Zoom Controls (Android) Help Wanted Rounded Corners Rounded Image ProgressBar.Height InkWell Ripple Effect Size WebView to Content Floating Action Button Android Theme Capitalization override Project Board

Slide 51

Slide 51 text

Android Bottom Tabs 1 2 3 4 5 6 7 8 9

Slide 52

Slide 52 text

TitleView

Slide 53

Slide 53 text

Bindable Span

Slide 54

Slide 54 text

Commandable Span Gestures

Slide 55

Slide 55 text

Button Padding

Slide 56

Slide 56 text

OnPlatform & OnIdiom XAML Extensions

Slide 57

Slide 57 text

No content

Slide 58

Slide 58 text

No content

Slide 59

Slide 59 text

• Everything you can already do today in Xamarin.Forms • Performant by default • Same design on iOS and Android via MaterialShell • Platform design via Shell • Easily describe your entire app in one file • Flyout and Tabbed navigation • URL routed navigation, deep linking • Back navigation handling • Integrated Search handler • Snackbar • Bottom Sheet • Floating Action Button • Left Bar Button • Screen segues • Screen transitions

Slide 60

Slide 60 text

No content

Slide 61

Slide 61 text

Slide 62

Slide 62 text

No content

Slide 63

Slide 63 text

No content

Slide 64

Slide 64 text

No content

Slide 65

Slide 65 text

No content

Slide 66

Slide 66 text

No content

Slide 67

Slide 67 text

No content

Slide 68

Slide 68 text

No content

Slide 69

Slide 69 text

No content