50

Uwp + Xamarin : Du nouveau en terre du milieu

Embed Size (px)

Citation preview

Page 1: Uwp + Xamarin : Du nouveau en terre du milieu
Page 2: Uwp + Xamarin : Du nouveau en terre du milieu

Android Studiojava

Xcode

swiftobjective-c

Visual Studio

.netjavascript

Appl

icatio

ns N

ativ

esHy

brid

eshtml

javascripthtml

javascripthtml

javascript

C++Visual C++ Compiler

C++GCC - Clang/LLVM

C++Clang/LLVM

C# C# C#

javascript javascript javascript

Visual Studio C++ Cross-Platform Mobile

React Native NativeScript

Page 3: Uwp + Xamarin : Du nouveau en terre du milieu

Un code C# pour les unir, et par le framework .net les lier.

Page 4: Uwp + Xamarin : Du nouveau en terre du milieu
Page 5: Uwp + Xamarin : Du nouveau en terre du milieu
Page 6: Uwp + Xamarin : Du nouveau en terre du milieu
Page 7: Uwp + Xamarin : Du nouveau en terre du milieu
Page 8: Uwp + Xamarin : Du nouveau en terre du milieu
Page 9: Uwp + Xamarin : Du nouveau en terre du milieu

UWP on Xbox OneWindows Inking (InkToolbar)Cortana Insights/Actions

Windows.UI.CompositionDesktop Bridge (Centennial)UWP Community Toolkit

What’s new ?

Page 10: Uwp + Xamarin : Du nouveau en terre du milieu
Page 11: Uwp + Xamarin : Du nouveau en terre du milieu

DirectX Family

Windows.UI.Composition

Windows.UI.XamlFramework Layer

VisualLayer

Universal Windows Application

Graphics Layer

Controls, layout, markup, accessibility, data binding

Text rasterization, shapes & vector rasterization, ink rendering, meshes, shaders etc.

Visuals, Animations & Expressions, Effects, Input Routing & Manipulations

Page 12: Uwp + Xamarin : Du nouveau en terre du milieu

Visual LayerWindows.UI.Composition

Content Visuals

• SpriteVisual• Solid color content• Image content• D2D/D3D content

• XAML interop

Animation system

• KeyFrame Animations• Expression Animations• Implicit Animations

Effects system

• Shadows• Scene Lightning• Blur• Exposure, Hint,

Temperature• Grayscale• Blend …

Page 13: Uwp + Xamarin : Du nouveau en terre du milieu

N° 15

Page 14: Uwp + Xamarin : Du nouveau en terre du milieu
Page 15: Uwp + Xamarin : Du nouveau en terre du milieu

Why ?

N° 17

Incomplete Uninstalls

Registry Bloat and “PC Rot”

Untrustworthy Installers

DLL HellDistribution visibility and

trust

No access to most new UWP

APIs(no app identity)

Page 16: Uwp + Xamarin : Du nouveau en terre du milieu

Developer Workflow

N° 18

Setup

Desktop App ConverterConverts existing desktop installerCreates packaged app with UWP manifest

Test, Update, and EvolveMake compatible code changes that go into both MSI and app packageEvolve app package to take advantage of the Universal Windows Platform

AppX

Publish and DistributeDistribute the app package via sideloading, MDM or the Windows Store (coming soon)

Page 17: Uwp + Xamarin : Du nouveau en terre du milieu

Support new and existing customers

• Clean install/uninstall• Virtualized key IO• User Safety

• Untouched

.appxWindows 10

.msiWindows 7

Classic Windows Appwin32 | wpf | winforms | vb6 | delphi |

more

desktop app converter

existing installer build

process

Page 18: Uwp + Xamarin : Du nouveau en terre du milieu

Keep the user safety / privacy promise

Your AppWindows 10

Your AppWindows 7

Virtualized HKCU

Registry.dat

Full WindowsRegistry

UWP AppData

folder

Windows AppData

folder

Virtualization is free: no code changes required!

Page 19: Uwp + Xamarin : Du nouveau en terre du milieu

Use Windows 10 features

Your Classic Windows App,

in UWP app package,

with Identity

Windows 10 Cortana

Live Tiles

Store

Camera and Devices

more

Page 20: Uwp + Xamarin : Du nouveau en terre du milieu

N° 22

Page 21: Uwp + Xamarin : Du nouveau en terre du milieu
Page 22: Uwp + Xamarin : Du nouveau en terre du milieu

Plateforme Xamarin

Storyboard/XIB

XAML/HTML

XML

Code C# Partagé

* F# également supporté

C# APIs iOS

C# APIs Windows

C# APIs Android

Page 23: Uwp + Xamarin : Du nouveau en terre du milieu

Partage de codeRéutilisation de compétencesVisual Studio

Xamarin

N° 25

C# partout

PerformanceExpérience utilisateur100% des fonctionnalités

Apps natives

iOS, AndroidAndroid Wear/TVApple Watch/TVmacOS

Toujours à jour

Page 24: Uwp + Xamarin : Du nouveau en terre du milieu

Open sourceInclus avec Visual Studio

Mature

Xamarin

N° 26

Page 25: Uwp + Xamarin : Du nouveau en terre du milieu

TOUT ce qui est possible en

Objective-C, Swift ou Java est possible en

C# avec Xamarin

Xamarin

N° 27

Page 26: Uwp + Xamarin : Du nouveau en terre du milieu

• LINQ• Event handlers• HttpClient• Json.NET• Async/Await

Compétences .NETC#

N° 28

Page 27: Uwp + Xamarin : Du nouveau en terre du milieu

• Portable Class Library• Shared Project• NuGet

Compétences .NETPartage de code

N° 29

Page 28: Uwp + Xamarin : Du nouveau en terre du milieu

• Intellisense• Refactoring• Déploiement• Debugging

Visual Studio

N° 30

Page 29: Uwp + Xamarin : Du nouveau en terre du milieu

Développement iOSSous Windows !

N° 31

• Connexion à un Mac obligatoire• Simulateur iOS à distance • Transfert de port USB

Page 30: Uwp + Xamarin : Du nouveau en terre du milieu

Démo !Xamarin natif

Page 31: Uwp + Xamarin : Du nouveau en terre du milieu

N° 33

Page 32: Uwp + Xamarin : Du nouveau en terre du milieu

N° 34

Page 33: Uwp + Xamarin : Du nouveau en terre du milieu

N° 35

Page 34: Uwp + Xamarin : Du nouveau en terre du milieu

Xamarin vs Xamarin.Forms

Approche traditionnelle(ou native)

Approche Xamarin.Forms

iOS C#

Windows C#Android C#

C# Commun

UI (C# / XAML)

C# Commun

Page 35: Uwp + Xamarin : Du nouveau en terre du milieu

Xamarin vs Xamarin.Forms

Approche traditionnelle(ou native)

Approche Xamarin.Forms

iOS C# UI Windows C#

UIAndroid C# UI

C# Commun

UI (C# / XAML)

C# Commun~40-70% Partage de Code

~90-98% Partage de Code

Page 36: Uwp + Xamarin : Du nouveau en terre du milieu

Xamarin.FormsXAML

N° 38

<?xml version="1.0" encoding="utf-8" ?><ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="XamlSamples.XamlPlusCodePage" Title="XAML + Code Page"> <StackLayout> <Slider VerticalOptions="CenterAndExpand" /> <Label Text="A simple Label" Font="Large" HorizontalOptions="Center" VerticalOptions="CenterAndExpand" /> <Button Text="Click Me!" HorizontalOptions="Center" VerticalOptions="CenterAndExpand" /> </StackLayout></ContentPage>

Page 37: Uwp + Xamarin : Du nouveau en terre du milieu

Pages + Layout

Stack Absolute Relative Grid ContentView

ScrollView

Frame

Content MasterDetail

Navigation

Tabbed Carousel

Page 38: Uwp + Xamarin : Du nouveau en terre du milieu

ActivityIndicator BoxView Button DatePicker Editor

Entry Image Label ListView Map

OpenGLView Picker ProgressBar SearchBar Slider

Stepper TableView TimePicker WebView EntryCell

ImageCell SwitchCell TextCell ViewCell

Contrôles

Page 39: Uwp + Xamarin : Du nouveau en terre du milieu

Partage de code importantExpérience utilisateur moins importante

Application peu complexeInterface unifiée et simple, peu de fonctionnalités natives

Peu d’exigences en performancesLe prix à payer pour une couche d’abstraction

App B2B (ou POC)Priorité au fonctionnel, avant la forme

Compétences XAMLRéutilisation des connaissances XAML, moins exigeant en connaissances natives

Quand choisir Xamarin.Forms ?

N° 41

Page 40: Uwp + Xamarin : Du nouveau en terre du milieu

Démo !Xamarin.Forms

Page 41: Uwp + Xamarin : Du nouveau en terre du milieu

Tests UI automatisés

Test Recorder2000+ devices

RapportsScreenshots, métriques

Xamarin Test Cloud

Page 42: Uwp + Xamarin : Du nouveau en terre du milieu

Rapports de crashDistributionMétriques + Evènements

Feedback utilisateur

HockeyApp

Page 43: Uwp + Xamarin : Du nouveau en terre du milieu

Contrôle de version

TFS/GitOutils AgileIntégration

continueBuild, Test, Deploy

Visual Studio Team Services

Page 44: Uwp + Xamarin : Du nouveau en terre du milieu

Cours en ligne70+ classes

PrésentationsCertification

Partie du contenu disponible via

MSDN

Xamarin University

Page 45: Uwp + Xamarin : Du nouveau en terre du milieu

Evénements

N° 47

Meetup Xamarin

Xamarin Dev Days

Ce soir 19h !Microsoft Experiences

26 novembreMicrosoft Accelerator Paris

Page 46: Uwp + Xamarin : Du nouveau en terre du milieu

N° 48

Page 47: Uwp + Xamarin : Du nouveau en terre du milieu

@microsoftfrance @Technet_France @msdev_fr

N° 49

Page 48: Uwp + Xamarin : Du nouveau en terre du milieu

N° 50

Page 49: Uwp + Xamarin : Du nouveau en terre du milieu
Page 50: Uwp + Xamarin : Du nouveau en terre du milieu