Let's Go dans l'univers mobile multiplateforme avec Xamarin

75
Let's Go dans l'univers mobile multiplateforme avec Xamarin Christian Hissibini @histechup

Transcript of Let's Go dans l'univers mobile multiplateforme avec Xamarin

Page 1: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Let's Go dans l'univers mobile multiplateforme avec XamarinChristian Hissibini@histechup

Page 2: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Christian HissibiniTech Enthousiast…

@histechupHisTech SolutionsXamarin Student AmbassadorMicrosoft MVP Windows Platform Dev

Page 3: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Les Plateformes Mobiles

Page 4: Let's Go dans l'univers mobile multiplateforme avec Xamarin
Page 5: Let's Go dans l'univers mobile multiplateforme avec Xamarin
Page 6: Let's Go dans l'univers mobile multiplateforme avec Xamarin
Page 7: Let's Go dans l'univers mobile multiplateforme avec Xamarin
Page 8: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Approches de DéveloppementMobile

Page 9: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Approche en Silo

Création de plusieurs applications

Page 10: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Approche en Silo

Création de plusieurs applications

Page 11: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Approche en Silo

Création de plusieurs applications

Page 12: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Approche en Silo

Création de plusieurs applications

Page 13: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Approche Silo

Création de plusieurs applications• Plusieurs Équipes• Multiple bases de code• Differents outils

Page 14: Let's Go dans l'univers mobile multiplateforme avec Xamarin

L’approche Write Once, Run Anywhere

• Lowest common denominator• Fragmentation du navigateur• Un seul développement et design

pour toutes les plateformes

Page 15: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Approche Xamarin

• Interface Utilisateur Native• Performances Natives• Code partagé à travers les

plateformes• Frameworks C# & .NET• Couverture complete des

APIs

Page 16: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Avec Xamarin.Forms: Plus large partage de code, contrôles

natifs

Approche Xamarin Traditionnelle

Shared UI Code

Approche Xamarin.Forms

Page 17: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Comment fonctionne Xamarin

Page 18: Let's Go dans l'univers mobile multiplateforme avec Xamarin

APIs Windows

Microsoft.Phone Microsoft.Networking

Windows.Storage

Windows.Foundation

Microsoft.Devices

System.Data System.Windows

System.Numerics System.Core System.ServiceMod

el

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

Page 19: Let's Go dans l'univers mobile multiplateforme avec Xamarin

iOS – 100% APIs Couvertes

MapKit UIKit iBeacon CoreGraphics CoreMotion

System.Data System.Windows

System.Numerics System.Core System.ServiceMod

el

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

Page 20: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Android – 100% APIs Couvertes

Text-to-speech ActionBar Printing Framework Renderscript NFC

System.Data System.Windows

System.Numerics System.Core System.ServiceMod

el

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

Page 21: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Performance Native

Xamarin.iOS effectue une compilation complète en avance de temps (Ahead Of Time (AOT) compilation) pour produire un binaire ARM destiné au Apple’s App Store.

Xamarin.Android bénéficie de la compilation à la volée (Just In Time (JIT) compilation) sur l’appareil Android.

Page 22: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Tout ce qui est faisable en Objective-C, Swift, ou Javapeut être fait en C# avec Visual Studio et Xamarin.

Page 23: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Environnements de Développement

Page 24: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Xamarin StudioPC or Mac

Visual Studio Plugin

VS 2010 and +

Environnements de Développement

Page 25: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Démo

Page 26: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Stratégies de partage de code

Page 27: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Partage de Code - StratégiesShared ProjectsMettre le code partagé dans un “Shared Project”Reférencer le projet partagé à partir de Android, iOS, Windows, WebEt le code source du projet partagé est inclus.Super flexible, peut utilizer les classes partielles, très simple, full accès aux APIs

Portable Class LibrariesLorsque vous designez un code destiné à être consommé par d’autres.Consommation facile par des tiers.Accès Limité aux APIs

Composants Existants et NuGetsLes Bibliothèques sont supportées

Page 28: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Statistiques de Partage de CodeMac

iOS

Android

Windows Phone

iCircuit

Touch Draw

86%

14%

72%

28%

70%

30%

61%

39%

88%

12%

76%

24%

90%

10%

Page 29: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Abstractions Puissantes

Page 30: Let's Go dans l'univers mobile multiplateforme avec Xamarin

SpeechSynthesizerTextToSpeechAVSpeechSynthesizer

TextToSpeech.Speak(“Hello World”);

Page 31: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Plugins pour Xamarin

Common Mobile API

xamarin.com/plugins

Speech Camera Settings Connectivity

SMS Location

Platform Native APIs

Page 32: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Xamarin.Forms

Windows-specific C#Android-specific C#iOS-specific C#

Shared C# Logic

Shared Xamarin.Forms UI

Page 33: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Bibliothèque Graphique 2DSkiaLe moteur graphique 2D dans Google Chrome et Android.Multiplatforme : Android, iOS, Mac, Windows. Bientôt sur: UWP, tvOS.

CouvertureChargement et sauvegarde d’Image Immediate composited rendering modeAccélération GPU accelerated (lorsque disponible/activé)Custom effects et shaders

Développement ActifCollaboration entre Skia et SkiaSharp dans le développement actif

Shapes Bézier Curves

Translations & Rotations

Text rendering

Discrete Path Effects

Composed Path Effects

Sum Path Effects

Shaders

Page 34: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Moteur de Rendu Graphique 3DUrhoMoteur de rendu graphique 3D

Multiplatforme: Android, iOS, Mac, Windows. Bientôt sur: UWP, tvOS.

CouvertureScènes 3DComposant système de RenduAccélération GPUCustom effects et shaders

Développement ActifCollaboration entre Urho et UrhoSharp dans le développement actif

Page 35: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Inspector et Workbooks

Page 36: Let's Go dans l'univers mobile multiplateforme avec Xamarin

InspectorPrise en charge de l’inspection en live des application par l’EDIMonitore votre application en liveExecute du code C# sur une application en marcheEffectue des modifications, explore votre application

Powered by Roslyn’s C#

MultiPlatformeSupporte Android, iOS, Mac et Windows

Page 37: Let's Go dans l'univers mobile multiplateforme avec Xamarin

WorkbooksPropulse Interactive C# à un autre niveau

Apprendre par l’experimentation

Workbooks sont des documents liveIls contiennent du texte MarkdownAvec du code C# embarquéLe code s’execute à la demandeEt ré-execute tout code après que vous ayiez effectué des modifications

Page 38: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Démo

Page 39: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Testing

Page 40: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Réalisation des testsUnit testingUI Testing

Test Recorder

Page 41: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Sur Mobile, la Qualité n’est pas évidente

72020356

OS versionsDevicesLanguagesLocalesScreen sizes

1024K+395727156

OS versionsDistinct devicesLanguagesLocalesScreen sizesManufacturersScreen configurations

Page 42: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Challenges

Fragmentation des AppareilsComplexité de l’ApplicationCycles Rapides des ReleasesSessions CourtesAttentes Élevées des Utilisateurs

Page 43: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Android Diversification

Page 44: Let's Go dans l'univers mobile multiplateforme avec Xamarin

iOS diversification3D Touch iPhone 6s series only

Apple penciliPad Pro only

Multi TaskingOnly select iPads

iPads

iPod touchiPhones

Form factors iOS 9 features

Page 45: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Thousands of iOS and Android APIs

Public web APIs

Backend integrations

Third party libraries

Memory, CPU and network constraints

Complexité de l’Application

Page 46: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Tap Scroll Swipe Pinch Multi Finger

Text Entry

Rotation GPS

Page 47: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Xamarin Test Cloud: tests automatisés sur des milliers d’appareils

Page 48: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Xamarin Test Cloud

Intégration avec la Plateforme

UITest Test Recorder

Page 49: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Démo

Page 50: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Monitoring et Télémétrie

Page 51: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Xamarin Insights – Monitoring en Temps Réel

Supporte

✓ Xamarin.iOS✓ Xamarin.Android✓ Xamarin.Mac✓ Windows Phone✓ Windows Store✓ Windows Desktop

Page 52: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Xamarin Insights – Rapport

Signale automatiquement toute exception native ou non prise en charge.

Rapporte vos propres exceptions grâce à une simple API multiplateforme.

Page 53: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Xamarin Insights – Suivi

Effectue le Suivi de tout événement qui survient dans votre application.

Fait aussi le suivi des performance et le temps que prend une operation.

Page 54: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Xamarin Insights – Identification

Combine le suivi d’événement à l’identification d’utilisateur pour résoudre rapidement les problemes.

Page 55: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Simple Intégration dans des services populaires pour l’acheminement des notifications critiques.

Xamarin Insights – Intégration

Page 56: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Insertion de Xamarin Insights//Crash ReportInsights.Report(exception);

//Feature UsageInsights.Track(“Splash Page”);

//Timed EventsInsights.TrackTime(“TimeToSync”);

//User SessionsInsights.Identify(“Steve”, user_traits);

Page 57: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Demo

Page 58: Let's Go dans l'univers mobile multiplateforme avec Xamarin

✓Toujours À Jour

Support le même jour :• iOS 5• iOS 6• iOS 7• iOS 7.1• iOS 8• iOS 9Support complet pour :• Apple Watch• Google Glass• Android Wear• Amazon Fire TV• and much more

Page 59: Let's Go dans l'univers mobile multiplateforme avec Xamarin
Page 60: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Par où commencer ?

Page 61: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Télécharger les Environnements de Développement

www.visualstudio.com

www.xamarin.com

Xamarin StudioPC or Mac

Visual Studio

Page 62: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Logithèque DreamSparkwww.dreamspark.com

Page 63: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Pour se former

Page 64: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Microsoft Virtual Academymva.microsoft.com

Page 65: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Xamarin Universityxamarin.com/university

Page 66: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Pour vos questions…

Page 67: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Communautés Online

forums.xamarin.com

social.msdn.microsoft.com/forums

stackoverflow.com

Page 68: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Pour rester à jour…

Page 69: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Blogs

Xamarin Blogblog.xamarin.com

Xamarin Community Blogsplanet.xamarin.com

Canadian Developer Connectionaka.ms/cdndevs

Page 70: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Channel 9channel9.msdn.com

Page 71: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Conférence //build/ build.microsoft.com/

Page 72: Let's Go dans l'univers mobile multiplateforme avec Xamarin

evolve.xamarin.com

April 24–28, 2016

Page 73: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Montreal Mobile .NET Developerswww.meetup.com/MontrealMobileDevelopers

Page 74: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Questions ?

Page 75: Let's Go dans l'univers mobile multiplateforme avec Xamarin

Merci