Livre Blanc XAMARIN. Le développement mobile multiplateforme



Documents pareils
Point sur les solutions de développement d apps pour les périphériques mobiles

Avanade et Xamarin : la voie rapide vers la réussite mobile.

DEVELOPPEMENT MOBILE - ETAT DE L ART DES SOLUTIONS

APPLICATIONS MOBILES Catalogue de services Econocom-Osiatis

Systems Manager Gestion de périphériques mobiles par le Cloud

Plate formes mobiles. Utilisation. Contexte 9/29/2010 IFC 2. Deux utilisations assez distinctes :

WINDEV MOBILE. ios SMARTPHONE SUPPORT: IOS, ANDROID, WINDOWS PHONE 8.

Les solutions mobiles et Cloud au service de votre productivité

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David

Révolution du mode de travail en magasin

Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS

Windows Phone conçu pour les entreprises.

Iphone vs. Android. Mardi 17 Novembre 2009 Paris, la Défense. Xavier PARADON, Directeur Technique Valtech Training

Windows Azure. Principales fonctions

Digicomp 2. Bienvenue à la présentation «Windows 10 What's new»

Optimiser pour les appareils mobiles

Le Cloud Computing et le SI : Offre et différentiateurs Microsoft

Guide de Démarrage. Introduction... 2 Scénarios pour l utilisation de votre procloud@ocim.ch... 2 Scénarios à venir :... 2

Solution de Mobilité SAP SUP & AFARIA. Meltz Jérôme

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova

EXPERTS EN DÉVELOPPEMENT ET MODERNISATION DE LOGICIELS WEB ET MOBILES

Découverte des tablettes tactiles (ipad d'apple et Galaxy Tab de Samsung

Gestion de la mobilité en entreprise (EMM, enterprise mobility management)

Chapitre 1 Retour en arrière

Catalogue des formations 2014

SPT Description du cours NORAMSOFT SPT2013. SharePoint 2013 pour développeurs

Office 365 pour les établissements scolaires

Fonctions. Solution professionnelle pour le stockage de données, la synchronisation multi- plateformes et la collaboration

Recommandations techniques

Les tablettes. Présentation tablettes Descriptif Fournisseurs Caractéristiques Comparatifs Conseils Perspectives Démonstration

Windows Azure Platform Développez, déployez et administrez pour le Cloud Microsoft

Installation et prise en main

LES TABLETTES : GÉNÉRALITÉS

WINDOWS Remote Desktop & Application publishing facile!

Productivité Performance Mobilité

Environnement Zebra Link-OS version 2.0

Formation WinDev Mobile

Wonderware Mobile reporting

LES TABLETTES TACTILES

LES OBJETS CONNECTES

1 Actuate Corporation de données. + d analyses. + d utilisateurs.

LA MOBILITE : ACTEURS, OUTILS,

Introduction au développement SharePoint. Version 1.0

EIP 2012 Projet Livepad. Documentation technique 1.5

Commerce Server 2009 R2

Bénéfices pour votre organisation : une solution pouvant supporter vos besoins d affaires

Tableau comparatif des offres Visual Studio

R E S O T E L. Ingénierie des Systèmes Informatiques Réseaux et Télécommunications. Calendrier des Formations IT

S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i

CHEF DE PROJET & ARCHITECTE.NET SAMIR BENFARES FORMATION LANGUE COMPÉTENCES TECHNIQUES CERTIFICATION

Formations qualifiantes pour demandeurs d emploi

de logiciels Web 2.0, SaaS Logiciels collaboratifs Portails pour entreprises Développement iphone, Android WebApp HTML5 Mobile marketing

Fiche Technique Windows Azure

EXTENSION de Microsoft Dynamics CRM Réf FR 80452

Burckel Thomas. Formation. Compétences

BizTalk Server Principales fonctions

Présentation de l'architecture QlikView. Livre blanc sur la technologie QlikView. Date de publication : octobre

De l authentification au hub d identité. si simplement. Présentation OSSIR du 14fev2012

Auteur LARDOUX Guillaume Contact Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA

Environnement Zebra Link-OS version 2.0

Publication. Aperçu rapide Quelles améliorations pour Microsoft SharePoint 2013?

Béatrice Bertrand CDDP de l Eure. Béatrice Bertrand CDDP de l'eure

AJAX. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

BYOD Smart Solution. Mettre à disposition une solution qui peut être adaptée à des utilisateurs et appareils divers, à tout moment et en tout lieu

Présentation de l application Smartphone «Risques Nice»

Messagerie & Groupeware. augmentez l expertise de votre capital humain

Le Web de A à Z. 1re partie : Naviguer sur le Web

Vulgarisation Java EE Java EE, c est quoi?

InstallShield 2014 FICHE TECHNIQUE. Création de programmes d installation pour Microsoft Windows

SYNC FRAMEWORK AVEC SQLITE POUR APPLICATIONS WINDOWS STORE (WINRT) ET WINDOWS PHONE 8

Partner Entreprise. Modules de cours pour la formation continue Offre IFAPME Verviers

Systèmes intelligents pour le commerce de détail. Plateforme Windows Embedded

Calendrier FORMATIONS Saison 2014 Formations Informatique - Bureautique - Infographie - Outils graphiques

4D Web 2.0 Pack DATA LIVES HERE. TM. Internet Riche et Solutions Mobiles en toute simplicité. 4D Ajax Framework 4D Ajax for Dreamweaver 4D for Flex

Dématérialisation et mobilité

Libérez votre intuition

Stages ISOFT : UNE SOCIETE INNOVANTE. Contact : Mme Lapedra, stage@isoft.fr

Applications smartphones : enjeux et perspectives pour les communautés de l'eglise Catholique. Application Smartphone 1

SharePoint 2013 Développez en.net pour personnaliser SharePoint (Apps, REST, CSOM et Azure)

BUREAU VIRTUEL. Utilisation de l application sur ipad. Guide utilisateur. Sciences Po Utilisation du bureau virtuel sur ipad 1 / 6

Comparatif de VMware Zimbra aux principales plates-formes de messagerie et de collaboration LIVRE BLANC COMPARATIF ZIMBRA

WINDOWS AZURE ET LES ÉDITEURS DE LOGICIELS

FileMaker : Une plateforme complète pour créer, déployer et gérer des solutions professionnelles personnalisées pour ipad et iphone

Consultant.NET / SharePoint

Séminaire Partenaires Esri France 7-8 juin Paris Les API ArcGIS pour les smartphones

Catalogue des formations

GenDbg : un débogueur générique. Didier Eymery Jean-Marie Borello Jean-Marie Fraygefond Odile Eymery Philippe Bion

Notre Catalogue des Formations IT / 2015

Didier Perrot Olivier Perroquin In-Webo Technologies

Gestion de la mobilité d'entreprise. L'équilibre parfait entre les besoins de l'utilisateur final et ceux de l'entreprise

Cortado Corporate Server

PROTECTION DES PÉRIPHÉRIQUES MOBILES ET GESTION DE FLOTTE MOBILE (Kaspersky MDM licence Advanced)

Olivier Deheurles Ingénieur conception et développement.net

Comment booster vos applications SAP Hana avec SQLSCRIPT

Qu est-ce que ArcGIS?

Transcription:

Livre Blanc XAMARIN Le développement mobile multiplateforme

Sommaire 1 Contributeur... 2 2 Introduction... 3 2.1 Les utilisateurs demandent une expérience applicative native... 4 2.2 Un paysage de périphériques diversifiés... 5 2.3 Les approches actuelles du multiplateforme... 6 3 Xamarin, l approche unique... 7 3.1 Des fonctionnalités natives... 9 3.2 Les avantages du partage du code... 10 4 La plateforme Xamarin... 11 5 Une intégration complète à Visual Studio... 12 6 Mise en pratique... 14 6.1 Création de projet... 14 6.2 Le designer d interface... 15 6.3 MVVM appliqué au multiplateforme... 17 6.4 Des API communes... 18 6.5 Un support de la PCL... 18 6.6 Le Debug... 18 6.7 Windows Azure... 19 6.8 Base de données locale et le mode déconnecté... 20 7 Xamarin et Microsoft... 21 8 Conclusion... 22 1/24

1 CONTRIBUTEUR Nicolas HUMANN : Nicolas est expert technique de la cellule innovation chez Exakis. Il travaille depuis 10 ans sur les technologies Microsoft, en architecture et développement applicatifs, en adaptant les dernières innovations technologiques aux services des entreprises et des utilisateurs. Blog: http://blog.humann.info 2/24

2 INTRODUCTION Les périphériques de l ère post-pc ont eu une croissance très rapide. Ils ont été une innovation technologique des plus perturbantes de notre temps. L adoption des smartphones a été dix fois plus rapide que le boom des PC des années 80, deux fois plus rapide que le boom A partir de 2016, 70% des employés de l'internet des années 90, et trois fois plus rapide que mobiles seront équipés de la récente explosion des réseaux sociaux. Les livraisons de smartphones ont éclipsé les ventes de PC en moins smartphones ou de tablettes, et 90% de deux ans, et ils ont commencé à mieux se vendre des entreprises auront au moins que les PC dès le début 2012. La croissance des deux plateformes à supporter. tablettes se passe à un rythme soutenu, par exemple le taux d adoption d ipad dépasse celui de l iphone, avec un taux de croissance de trois pour un. Les logiciels mobiles permettent à une nouvelle génération d'applications de devenir sensibles à un contexte, ce qui n'était pas possible auparavant. Votre smartphone est toujours avec vous : il sait où vous êtes, il a accès à une multitude de sources de données personnelles et d entreprise, et il entraîne un plus grand engagement dans la communication que les précédentes méthodes on-line : 97 % des SMS sont lus contre 15 % des e-mails. Les entreprises qui réussissent, créent des expériences mobiles uniques pour améliorer la productivité en tirant pleinement profit des usages métiers et de la puissance des backend existants. Elles peuvent ainsi mettre leurs solutions business à disposition des employés, où qu ils se trouvent. L impact sur les entreprises est profond : Facebook a connu une croissance de 54% des utilisateurs mobiles actifs, ce qui représente une augmentation de 30% de ses revenus. L ecommerce sur mobile évolue près de trois fois plus vite que sur PC. Les entreprises qui adoptent la mobilité ont aujourd'hui une occasion unique d'étendre leur valeur et leur portée. Au contraire, les entreprises qui tardent à s adapter à ce nouveau contexte, perdront de leur pertinence face à des concurrents plus agiles en matière d innovation technologique. 3/24

2.1 Les utilisateurs demandent une expérience applicative native Que ce soit pour accéder à l'historique de commande produit ou simplement pour accéder aux horaires des trains, les utilisateurs attendent d un logiciel mobile qu il donne une information contextuelle, pertinente, et accessible instantanément, tout en tirant pleinement parti des capacités de l'appareil. Les applications qui ne peuvent pas remplir ces fonctions rapidement et intuitivement, ne sont tout simplement pas utilisées. Nombreux facteurs contribuent à ce que les utilisateurs s approprient une application : performances, fiabilité, design, facilité d'utilisation. Dans tous ces domaines, une application entièrement native présente des avantages significatifs par rapport aux implémentations non-natives, de type web. Les applications natives : Trois caractéristiques importantes Elles sont développées avec les standards et des contrôles utilisateurs natifs, qui respectent à 100% les conventions de design de la plateforme. Elles offrent des performances optimales, profitant de l accélération matérielle pour délivrer une réactivité inégalée. Elles ont accès à l ensemble des fonctionnalités exposées par l OS et le périphérique, comme le GPS, le mode offline, les agents en arrière-plan et les notifications push. Les fournisseurs de plateforme (Microsoft, Google et Apple) sont farouchement engagés dans la bataille des parts de marché. Ce qui est en cause ici, n'est pas simplement un match sur les revenus des ventes de smartphones et de tablettes. La véritable bataille est de gagner la grande économie numérique, celle qui sera présente sur tous les appareils, utilisés dans les salons, au travail, en voiture, et même dans les vêtements, ainsi que dans les futurs appareils portables. Cette concurrence intense entre les fournisseurs de plateforme accélère grandement l'innovation, les appareils sont de plus en plus rapides et intelligents. Ils ajoutent des capacités de différenciation à un rythme toujours plus rapide. Les entreprises qui sont promptes à intégrer ces nouvelles fonctionnalités dans leurs interactions B2C et dans les processus B2B obtiennent un avantage concurrentiel significatif. 4/24

2.2 Un paysage de périphériques diversifiés Le paysage informatique mobile est hétérogène et beaucoup plus fluide et fragmenté qu à l'ère du PC. De 2009 à 2012, Android était limité à 4% de part de marché des smartphones pour finir par un bond exceptionnel à 80%. Alors qu Android domine en volume d'appareils, Apple reste roi, avec des utilisateurs ios très fidèles, et ce, malgré une forte concurrence de la part du couple Nokia-Microsoft. Afin de formuler une stratégie mobile durable, et toucher un maximum d utilisateurs, les entreprises doivent adopter une approche multiplateforme, leur permettant de prendre de la hauteur vis-à-vis de la rivalité entre plateformes. Figure 1 Source Kantar (Novembre 2013) 5/24

2.3 Les approches actuelles du multiplateforme Comme évoqué, le paysage des périphériques mobiles est hétérogène et très dynamique. Les entreprises sont confrontées au défi de parvenir à supporter de multiples systèmes d'exploitation mobiles avec une seule application. Malheureusement, les approches actuelles de développement mobile multiplateforme n ont pas une très bonne réputation. Prenons un moment pour examiner les freins avec les approches actuelles. Développer l application trois fois La technique la plus communément utilisée par les entreprises aujourd hui pour construire une application fonctionnant sur les trois plateformes est de recréer «from scratch» l application pour chaque OS. Le surcoût de cette Ceux qui suivent cette approche de développement mobile doivent faire approche ralentit face à des langages distincts, utiliser des outils spécifiques, faire appel à l'innovation, ce qui des équipes différentes ayant des pose un gros compétences propres, et problème aux entreprises et aux utilisateurs finaux affronter la difficulté d avoir à mettre en œuvre toutes les fonctionnalités plusieurs fois. Pour résumer, la création d'applications dans la langue et l outil de chaque plateforme a un coût très élevé. L approche «Magique» Une autre méthode adoptée par de nombreux fournisseurs de Framework multiplateforme est l'approche (WORA). L'idée du développement d'applications WORA, est d écrire votre application une fois, avec une seule technologie, puis la déposer dans une «boîte magique» qui s occupe d adapter l'application au système d'exploitation et aux spécificités de chaque appareil. Cette approche est familière aux personnes qui ont de l'expérience avec Adobe Air, Java Swing, HTML 5 / Cordova et avec d'autres outils multiplateformes. Principalement avec le mobile, les utilisateurs s'appuient sur des indices stylistiques propres à la plateforme pour guider leurs interactions avec le logiciel. En effet, chaque système propose des «Design GuidLines» aux développeurs afin d avoir une ergonomie commune entre l OS et les applications. Les règles d UX se retrouvent dépouillées dans les applications construites avec les outils «boîte magique». Le résultat est une expérience utilisateur dégradée, ce qui menace l'adoption de l application par les utilisateurs. 6/24

3 XAMARIN, L APPROCHE UNIQUE Xamarin est une société et un produit qui redéfinit le développement multiplateforme. Cette solution permet d exploiter le meilleur des deux mondes, à savoir l utilisation de l expérience utilisateurs natifs, l accès aux fonctionnalités proposées par l OS et de profiter des performances du matériel ; le tout avec l avantage du «time-to-market» grâce au partage de code et de sa réutilisation. Le modèle de développement multiplateforme proposé par les outils Xamarin est : Accélérer le «time-to-market» : XAMARIN Xamarin est une société basée à San Francisco, en Californie, créée en mai 2011 par Nat Friedman et Miguel de Icaza. La société a été fondée par les ingénieurs qui ont créé Mono. Xamarin permet de réutiliser un maximum de code, permettant ainsi de réduire le temps et les coûts de développement d une application multiplateforme. Si vous pouvez le faire en Objective-C ou en Java, vous pouvez le faire en C# avec Xamarin Visual Studio et C# pour tous : Xamarin permet le développement d application ios (iphone et ipad), Android (smartphone et tablette) et Windows (Windows Phone et Windows 8) avec C# /.NET et Visual Studio. Profiter de l expérience acquise des équipes : Les développeurs familiers avec C# et Visual Studio sont déjà prêts et productifs avec les outils Xamarin. Il n est pas nécessaire d apprendre un nouveau langage de développement ou de faire appel à des développeurs expérimentés pour chaque plateforme Une expérience native : Les applications développées avec Xamarin profitent naturellement des meilleures performances de la plateforme et du matériel. 7/24

Une intégration aux SI : L utilisation des outils Visual Studio et.net permet l intégration facilité avec l ensemble des écosystèmes d entreprise basés sur les technologies Microsoft, à savoir, SharePoint, Windows Azure, Exchange, Ecrire un code commun C#, des interfaces utilisateurs spécifiques à la plateforme, également en C#. Le résultat est une application native avec une expérience utilisateur native, qui partage la logique métier, l accès aux données, le code réseau, et plus encore. 8/24

3.1 Des fonctionnalités natives Les applications développées avec Xamarin sont exécutées en natif grâce à une technologie unique. Toutes les API natives sont disponibles en C#, les contrôles graphiques utilisés sur ios ou Android sont accessibles et manipulables avec Xamarin en C#. L ensemble des fonctions de la plateforme sous-jacente sont exposées, y compris les fonctionnalités telles que les notifications push, l'intégration du calendrier, le NFC et le Bluetooth sont disponibles afin de concevoir des applications complètes et appropriées pour tous les cas de l'utilisation. Xamarin propose dès à présent l ensemble des fonctionnalités offertes par ios 7 et Android IceCream. Les applications développées avec Xamarin ont un «look & feel» natif. La compilation native donne des performances sans compromis, même pour des scénarios les plus exigeants, y compris les jeux et la visualisation de données. Xamarin.iOS réalise une compilation anticipée afin de produire des binaires ARM pour l'app Store d'apple. Xamarin.Android utilise la compilation JIT pour des optimisations complètes. Dans les deux cas, votre application est une plateforme native binaire compilée de manière croisée, et non interprétée! 9/24

3.2 Les avantages du partage du code - Écrire des applications entièrement en C# avec un accès à 100% des API de chaque plateforme - Fournir une interface utilisateur native, tout en partageant une moyenne de 70% du code, sur la logique de l'application entre toutes les plateformes - Compiler des applications sous forme de binaires natifs pour des performances rapides Lors du développement de logiciels avec Xamarin, les développeurs créent des interfaces utilisateurs natives distinctes, avec des éléments spécifiques à la plateforme, tout en partageant la logique de l application, tels que la validation des données saisies, les appels de services Web, la couche d accès aux données, et les intégrations avec le backend d'entreprise. Avec Xamarin, il est possible de partager beaucoup de code sur toutes les plateformes. Cela signifie que tout le code en dessous de la couche d'interface utilisateur est écrit une fois et réutilisé. Cela réduit fortement le risque de bug et les coûts de maintenance. Xamarin permet également de tirer parti des investissements C# déjà réalisés sur les plateformes ios et Android. 10/24

4 LA PLATEFORME XAMARIN Xamarin fournit un ensemble d outils puissant et complet, conçus pour le multiplateforme et le partage de code. De plus, un ensemble d API commune permet d accéder aux spécificités du matériel comme le GPS, la base de données (basé sur SQLite) et depuis novembre 2013 à l ensemble des packages PCL disponibles sur Nuget. Les principaux produits de Xamarin pour le développement sont : Xamarin for Visual Studio Xamarin.Android Xamarin.iOS Xamarin.Mac Tout ce que vous pouvez faire en Objective-C ou Java, vous pouvez le faire en C# avec Xamarin. Xamarin fournit 100% de l'api ios et Android en C#. La technologie de «binding» expose toutes les API Objective-C ou Java comme une bibliothèque C# standard. Il est également possible d intégrer des composants tiers ios ou Android. 11/24

5 UNE INTEGRATION COMPLETE A VISUAL STUDIO Avec le support de Visual Studio, les développeurs ont tout ce dont ils ont besoin pour concevoir, développer, déboguer et déployer d excellentes applications mobiles. Xamarin s'intègre à Visual Studio 2013, permettant ainsi de construire des applications ios, Android et Windows dans un environnement de développement Microsoft. Les utilisateurs de Visual Studio ont enfin la liberté d'écrire du code pour toutes les grandes plateformes à l'aide du langage de programmation qu'ils connaissent et aiment, avec un accès complet à l'écosystème Microsoft et des outils comme ReSharper et Team Foundation Server. Une solution unique pour mobile: ios, Android et Windows Xamarin fournit un addin pour Visual Studio afin de développer des applications pour ios, Android et Windows dans une seule solution. Les extensions de Xamarin permettent le design, le déploiement et le débogage sur simulateur ou sur un device. Figure 2 Visual Studio 2013 avec les projets Windows, Android et ios 12/24

Développer des applications ios natives dans Visual Studio Xamarin.iOS pour Visual Studio permet aux applications ios natives d être développées et testées sur les ordinateurs Windows. Il suffit d avoir un Mac en réseau pour fournir les services de compilation et de déploiement. Explorer les API simplement avec l auto complétion de code et l IntelliSense. L auto complétion de code et l IntelliSense dans Visual Studio permet d'explorer l ensemble des API ios et Android, très simplement. Les développeurs et utilisateurs expérimentés de Visual Studio profitent pleinement de sa puissance. Conserver votre boite à outils en place. Xamarin et Visual Studio tire profit de l ensemble de l'écosystème Microsoft, y compris de ReSharper, Team Foundation Server (TFS), Visual Studio Online, Windows Azure 13/24

6 MISE EN PRATIQUE 6.1 Création de projet L intégration de Xamarin dans Visual Studio est très complète. Comme évoqué précédemment, il est possible d imbriquer les projets ios, Android et Windows dans une seule solution Visual Studio (.sln). La création de projet est très simple, des modèles de projet sont disponibles dans l assistant de création de projet. Figure 3 Les catégories ios et Android sont ajoutées par Xamarin. Dans les nouvelles catégories apportées par Xamarin, plusieurs types de projets sont disponibles : Android Les modèles de projet «Android Application» contiennent l ensemble du code, de l interface, des images. De plus, deux modèles de projets différents permettent de cibler l OS HoneyComb ou IceCream Sandwich. Le modèle Android OpenGL Application fournit l ensemble des API pour le développement complet de jeux 3D grâce aux API OpenGL. Il est également possible d intégrer des librairies tierces java (.jar) pour cela, le modèle «Java Bindings Library» fournit un ensemble d interaction pour l interopérabilité java. 14/24

ios Dans la même philosophie, les modèles de projets permettent de créer les applications pour ios. Il est possible de distinguer les projets pour ipad ou iphone. Il existe néanmoins un template qui cible les deux systèmes ios. De la même manière, nous retrouvons les modèles pour interagir avec une librairie objective-c native et pour réaliser des jeux 3D avec OpenGL. 6.2 Le designer d interface La grande force de Visual Studio depuis de nombreuses années est sa puissance et sa capacité à fournir des designers d interfaces. Au fil des versions, ces designers se sont grandement améliorés, que ce soit en fiabilité ou en performance. Pour ne pas déroger aux bonnes habitudes, Xamarin fournit un designer complet dans Visual Studio. De manière classique, l interface graphique de votre application peut être construite grâce à un «glisser & déplacer» de contrôles utilisateurs depuis la boite à outils vers la surface active. 15/24

Le designer permet de générer le fichier axml de votre interface. Le code xml généré est donc : Les contrôles rajoutés dans le designer ou le fichier axml sont accessibles dans le codebehind en C#. 16/24

6.3 MVVM appliqué au multiplateforme Le pattern MVVM est la solution idéale pour le développement d application moderne avec XAML pour WPF / Windows 8 et Windows Phone. Le Modèle-Vue-VueModèle (en abrégé MVVM, de l'anglais Model View ViewModel) est une architecture et une méthode de conception. MVVM est originaire de Microsoft et adapté pour le développement des applications basées sur les technologies WPF/Windows Store App et Windows Phone. Cette méthode permet, tel le modèle MVC (Modèle- Vue-Contrôleur), de séparer la vue de la logique et de l'accès aux données en accentuant les principes de binding et d évènement. Il est utilisé dans de nombreux projets car cette méthode permet simplement de développer l intelligence des écrans et de bien séparer la logique métier de l accès aux données / réseaux de l interface graphique. Ce pattern correspond parfaitement à la logique de réutilisabilité apportée par Xamarin dans le développement multiplateforme. MVVM est la solution pour le partage de l intelligence des écrans entre toutes les plateformes. Le XAML, présent dans Windows 8 et Windows Phone supporte nativement les notions de «datacontext», de binding bidirectionnel et des commandes. Ce type de pattern n est pas disponible sur Android ou ios, ils sont conçus pour le modèle MVC. La solution se trouve donc grâce à une librairie open source disponible sur git hub : MVVMCross. https://github.com/mvvmcross/mvvmcross 17/24

6.4 Des API communes Xamarin.Mobile est une bibliothèque qui expose un ensemble d'api pour accéder aux fonctionnalités de l'appareil mobile, que ce soit dans ios, Android, et Windows. Cela augmente la quantité de code partageable. Les abstractions disponibles sont : L accès aux contacts L appareil photo La géolocalisation 6.5 Un support de la PCL Depuis novembre 2013, Xamarin supporte le format des librairies.net PCL. Une librairie PCL (Portable Class Library) est une bibliothèque de classe spécifique qui permet de s exécuter quelle que soit la version du Framework.NET. Elle apporte une abstraction de plateforme. Néanmoins, tous les types et fonctionnalité ne sont pas pris en charges. Microsoft Composition Microsoft Compression Microsoft HTTP Client Libraries Microsoft Immutable Collections Microsoft ASP.NET SignalR.NET Client ODataLib Les librairies PCL les plus populaires sont compatibles avec Xamarin : Async for.net Framework 4, Silverlight 4 and 5, and WP 7.5 & 8 Microsoft BCL Build Components Microsoft BCL Portability Pack 6.6 Le Debug Toute la puissance du débogueur moderne de Visual Studio est disponible avec Xamarin, que ce soit dans le simulateur ou sur un périphérique. 18/24

Le debug d une application ios ou Android est identique au debug d une application.net classique. Il suffit de poser un point d arrêt et d utiliser les fonctionnalités standards. 6.7 Windows Azure Windows Azure Mobile Service est un produit de la gamme SAAS de Windows Azure. Il permet d'accélérer le développement des applications mobile en offrant une solution clé en main pour structurer le stockage, authentifier les utilisateurs et envoyer des notifications push. Microsoft met à disposition un sdk spécifiquement pour Xamarin, avec tous les avantages de mutualisation des accès à Windows Azure. Stockage La solution offre une méthode directe pour stocker des données dans le cloud à l'aide des bases de données SQL Azure, du stockage d'objets blob ou sous forme de table. Mobile Services et le relais Service Bus offrent également la possibilité de connexion à des bases de données locales «On Premise», de manière à accéder aux données privées sur des périphériques mobiles sans avoir à les stocker dans cloud. Authentification Mobile Services fournit un système d authentification fédérée basé sur OAuth2, ceci évite de devoir développer, configurer et tester des systèmes d'authentification personnalisés. En copiant l'id et le code secret de l'application pour le compte Facebook, Twitter, Microsoft ou Google, vous pouvez authentifier vos utilisateurs simplement. De plus, l'implémentation d'un système d'authentification spécifique à l'application est bien sûr prise en charge, ainsi 19/24

que la connexion à Active Directory de Windows Azure pour les applications mobiles destinées aux utilisateurs d entreprise. Notification Push La solution offre un moyen unique et centralisé pour envoyer en temps réel des notifications push à l ensemble des utilisateurs connectés. Mobile Service offre un niveau d abstraction qui évite de manipuler nativement les protocoles de notification Microsoft, Apple ou Google. 6.8 Base de données locale et le mode déconnecté Certaines applications mobiles doivent être utilisées dans des conditions particulières, en dehors des villes ou dans des bâtiments en sous-sols. Même de nos jours, nous n avons pas accès tout le temps à un réseau mobile ou Wi-Fi, nous sommes alors en mode déconnecté. Dans ce contexte, il est nécessaire de stocker les informations dans une base de données locale, embarquée dans l application. En restant toujours dans l optique de mutualiser un maximum de code, il est également fortement conseillé de mutualiser le format de base de données. Pour cela, il existe le moteur SQLite qui est disponible nativement sur Windows, ios et Android. Grâce à SQLite, il est possible de partager : Le schéma et la structure des données Le fichier des données Les requêtes SQL Le code d accès aux données SQLite est une bibliothèque logicielle qui implémente sans serveur, sans configuration, un moteur de base de données SQL transactionnel. SQLite est le moteur de base de données SQL le plus largement déployé dans le monde. 20/24

7 XAMARIN ET MICROSOFT Le 13 novembre 2013, Microsoft et Xamarin ont officialisé leur partenariat lors du lancement de Visual Studio 2013. La première étape de cette alliance est : Les bibliothèques de classes «réellement» portables : Les bibliothèques de classes portables (PCL) sont maintenant entièrement prises en charge et supportées sur ios et Android. Il est possible de conserver un code commun dans un même projet, «référençable» dans les projets ios, Android, Windows Phone et Windows Store, le tout dans une seule solution. Support de Visual Studio 2013 : Xamarin et Microsoft travaillent actuellement ensemble pour offrir la meilleure expérience possible de développement mobile dans Visual Studio 2013. Xamarin a été nommé «2013 Partner of the Year» Offres spéciales pour les abonnés MSDN : Les abonnées MSDN peuvent profiter d avantages exclusifs ainsi qu une période d essai prolongée de 90 jours. «La collaboration entre Microsoft et Xamarin vise à soutenir les développeurs souhaitant construire leurs applications sur plusieurs plateformes. Avec Xamarin, les développeurs combinent tous les avantages de C#, Visual Studio 2013 et Windows Azure, avec la souplesse nécessaire pour développer rapidement sur de multiple périphériques.» S. Somasegar - Corporate Vice President, Microsoft Corporation 21/24

8 CONCLUSION Ce livre blanc a permis d explorer les capacités de Xamarin. Grâce à leurs solutions, les entreprises peuvent se concentrer sur le contenu et la promotion de leurs applications. Il n y a plus de compromis, ni d obstacle pour développer une application complète sur toutes les plateformes, surtout depuis la forte progression de Windows Phone 8 et Windows 8.1. 22/24

Exakis Genève Exakis Zurich 23/24

www.exakis.com 24/24