let's go dans l'univers mobile multiplateforme avec xamarin
Post on 13-Apr-2017
273 Views
Preview:
TRANSCRIPT
Let's Go dans l'univers mobile multiplateforme avec XamarinChristian Hissibini@histechup
Christian HissibiniTech Enthousiast…
@histechupHisTech SolutionsXamarin Student AmbassadorMicrosoft MVP Windows Platform Dev
Les Plateformes Mobiles
Approches de DéveloppementMobile
Approche en Silo
Création de plusieurs applications
Approche en Silo
Création de plusieurs applications
Approche en Silo
Création de plusieurs applications
Approche en Silo
Création de plusieurs applications
Approche Silo
Création de plusieurs applications• Plusieurs Équipes• Multiple bases de code• Differents outils
L’approche Write Once, Run Anywhere
• Lowest common denominator• Fragmentation du navigateur• Un seul développement et design
pour toutes les plateformes
Approche Xamarin
• Interface Utilisateur Native• Performances Natives• Code partagé à travers les
plateformes• Frameworks C# & .NET• Couverture complete des
APIs
Avec Xamarin.Forms: Plus large partage de code, contrôles
natifs
Approche Xamarin Traditionnelle
Shared UI Code
Approche Xamarin.Forms
Comment fonctionne 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
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
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
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.
Tout ce qui est faisable en Objective-C, Swift, ou Javapeut être fait en C# avec Visual Studio et Xamarin.
Environnements de Développement
Xamarin StudioPC or Mac
Visual Studio Plugin
VS 2010 and +
Environnements de Développement
Démo
Stratégies de partage de code
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
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%
Abstractions Puissantes
SpeechSynthesizerTextToSpeechAVSpeechSynthesizer
TextToSpeech.Speak(“Hello World”);
Plugins pour Xamarin
Common Mobile API
xamarin.com/plugins
Speech Camera Settings Connectivity
SMS Location
Platform Native APIs
Xamarin.Forms
Windows-specific C#Android-specific C#iOS-specific C#
Shared C# Logic
Shared Xamarin.Forms UI
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
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
Inspector et Workbooks
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
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
Démo
Testing
Réalisation des testsUnit testingUI Testing
Test Recorder
Sur Mobile, la Qualité n’est pas évidente
72020356
OS versionsDevicesLanguagesLocalesScreen sizes
1024K+395727156
OS versionsDistinct devicesLanguagesLocalesScreen sizesManufacturersScreen configurations
Challenges
Fragmentation des AppareilsComplexité de l’ApplicationCycles Rapides des ReleasesSessions CourtesAttentes Élevées des Utilisateurs
Android Diversification
iOS diversification3D Touch iPhone 6s series only
Apple penciliPad Pro only
Multi TaskingOnly select iPads
iPads
iPod touchiPhones
Form factors iOS 9 features
Thousands of iOS and Android APIs
Public web APIs
Backend integrations
Third party libraries
Memory, CPU and network constraints
Complexité de l’Application
Tap Scroll Swipe Pinch Multi Finger
Text Entry
Rotation GPS
Xamarin Test Cloud: tests automatisés sur des milliers d’appareils
Xamarin Test Cloud
Intégration avec la Plateforme
UITest Test Recorder
Démo
Monitoring et Télémétrie
Xamarin Insights – Monitoring en Temps Réel
Supporte
✓ Xamarin.iOS✓ Xamarin.Android✓ Xamarin.Mac✓ Windows Phone✓ Windows Store✓ Windows Desktop
Xamarin Insights – Rapport
Signale automatiquement toute exception native ou non prise en charge.
Rapporte vos propres exceptions grâce à une simple API multiplateforme.
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.
Xamarin Insights – Identification
Combine le suivi d’événement à l’identification d’utilisateur pour résoudre rapidement les problemes.
Simple Intégration dans des services populaires pour l’acheminement des notifications critiques.
Xamarin Insights – Intégration
Insertion de Xamarin Insights//Crash ReportInsights.Report(exception);
//Feature UsageInsights.Track(“Splash Page”);
//Timed EventsInsights.TrackTime(“TimeToSync”);
//User SessionsInsights.Identify(“Steve”, user_traits);
Demo
✓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
Par où commencer ?
Télécharger les Environnements de Développement
www.visualstudio.com
www.xamarin.com
Xamarin StudioPC or Mac
Visual Studio
Logithèque DreamSparkwww.dreamspark.com
Pour se former
Microsoft Virtual Academymva.microsoft.com
Xamarin Universityxamarin.com/university
Pour vos questions…
Communautés Online
forums.xamarin.com
social.msdn.microsoft.com/forums
stackoverflow.com
Pour rester à jour…
Blogs
Xamarin Blogblog.xamarin.com
Xamarin Community Blogsplanet.xamarin.com
Canadian Developer Connectionaka.ms/cdndevs
Channel 9channel9.msdn.com
Conférence //build/ build.microsoft.com/
evolve.xamarin.com
April 24–28, 2016
Montreal Mobile .NET Developerswww.meetup.com/MontrealMobileDevelopers
Questions ?
Merci
top related