Outils pour utilisateurs

Outils du site


Panneau latéral

Accueil

Select other language :


Apprentissage

Enseignements

Enseignements Département Informatique SI5 et Master IFI

Enseignements Département Bâtiment Polytech'Nice

Autres Formations française et étrangère

Activités administratives, Ingénierie et Innovation Pédagogiques

Apprentissage Département Informatique SI5/Master 2 ingénierie informatique EUR DS4H


Recherche

Valorisation de la Recherche

Dépôts Logiciels à l’Agence de Protection des Programme (APP)

Valorisation des résultats de recherche et transfert

Diffusion de la Culture scientifique et Technologique

Communications de presse

Séminaire ENSI Tunis

Pédagogie Innovante

Relations industrielles et socio-économique

Organisation de Manifestations

  • Conférence sur les FabLabs, Alexandre Schneider, Professeur Agrégé en Génie Mécanique, Université de Reims Champagne-Ardenne Web
  • Journées UbiMob'14 Site Web

Animation de la Recherche

U-Santé

Privé

Outils

Sources d'Informations

cours:plim:tutorial_xamarin

Tutorial Xamarin et Cross Development

Préambule

Nous avons vu précédemment qu'une application mobile pouvait être :

  • une WebApp pure c'est à dire sans appel natif par l'intermédiaire de javascript. Dans ce cas le problème reste celui du “Responsive Design” ou comment adapter la WebApp aux caractéristiques du terminal (principalement à sa morphologie : taille écran, résolution …). Ceci est apparu avec les MEDIA_QUERIES introduit dans les normes HTML5/CSS3. Cette approche reste néanmoins limitée pour accéder à des spécificités natives des cibles.
  • Des applications Hybrides, qui peuvent être conçues sur la base de WebApp auxquelles on rajoute différentes librairies javascript pré-écrites (Hybrid Mobile App Frameworks) pour donner accès à des fonctionnalités natives des cibles. Nous pouvons citer par exemple :
    • Mobile Angular UI
    • Intel XDK
    • Appcelerator Titanium
    • Sencha Touch
    • Kendo UI
    • PhoneGap
    • Bonus

Cette approche permet de développer nombre d'Application à condition de trouver le framework qui aille bien et de ne pas vouloir gérer des spécificités entre les différentes plateformes cibles. La question reste dans ce cas quelle framework(s) pour quelles applications …

  • Des applications natives multi-cibles, qui sont conçues sur la base d'un framework commun et qui ne sont plus des WebApps. Par exemple Xamarin permet de développer des projets “partagé” pour le code métier mais aussi pour concevoir des UI communes.
  • Des applications natives multi-cibles, qui sont conçues sur la base d'un framework commun mais qui permettent aussi de développer des spécificités selon les cibles en :
    1. utilisant le TAG plateform dans les fichiers XAML de description d'UI
    2. modifiant directement les projets spécifiques à chacune des cibles (Android, IoS, Windows Phone) adossés au projet “partagé”. On peut alors a proprement parler de multi-plateformes (cross-development) de par la possibilité qui est offerte de développer conjointement du code commun et spécifiques entre les différentes cibles avec un seul et même outils dans une seule solution.

Cette Séance 4 a pour but d'introduire Xamarin la plateforme de cross-développement maintenant rachetée par Microsoft. Après une brève introduction, nous travaillerons principalement sur des tutoriaux thématiques et sur machines.

Introduction de Xamarin et Outils de développement

  • Configuration et Installation de Xamarin sous Visual Studio. Pour générer des applications natives iOS, Android et Windows à partir d’une base de code C#/.NET commune en utilisant Xamarin, vous avez besoin des éléments suivants :
    • Pour travailler avec des applications Windows et Android : un ordinateur de développement Windows où Visual Studio 2015 et Xamarin 4 sont installés.
    • Pour travailler avec des applications iOS : un Mac avec OSX Yosemite (10.10.5) ou ultérieur, où Xcode et Xamarin sont installés.
    • Une licence Xamarin (une version d’évaluation de 30 jours est disponible).
    • Si vous pouvez alors développer pour Android et Windows Phone, ça n'est pas le cas pour iOS. En effet les licences et outils de développement Apple nécessite le passage par un MAC en réseau doté des services de développement et de déploiement. Pour ceux qui voudraient tester, vous trouverez la marche à suivre dans Introduction to Xamarin.iOS for Visual Studio

Vous avez donc la possibilité, pour les développements Xamarin, d'utiliser

  • Visual Studio Xamarin sur PC/Windows
  • Xamarin Studio sur PC/Windows
  • Xamarin Studio sur Mac

Sachez néanmoins que ces IDE ne vous permettront par de développer pour n'importe quelle cibles dans tous les cas. La figure suivante récapitule les différences.

Installation d'Emulateurs

  • Il nous faut maintenant être capables de récupérer les émulateurs dont nous aurons besoin. Pour cela nous pouvons suivre les indications de l'introduction aux émulateurs de Visual Studio
  • L'outil à installer est alors : Visual Studio Emulator pour Android. Il vous permettra de déployez, testez et déboguez des applications Android avec l'émulateur Android.
  • Les émulateurs android sont plutôt lents en général. Cela rend le développement sous Xamarin relativement agaçant. Des développement en cours tentent de tirer mieux partie des GPUs ou autres optimisations des performances des émulateurs. Vous pourrez par exemple essayer HAXM , le Intel Hardware Accelerated Execution Manager pour rendre l'émulateur Google Android plus performant (Non Encore Testé).
  • Visual Studio Emulator pour Android vous permettra alors de définir l’émulateur cible et son niveau d’API (ex. Samsung Galaxy S4 5’’ Lollipop API level 21).

Note : Attention si vous avez un problème d’hyper virtualisation pour le lancement d’un émulateur voici la commande à exécuter sous Cmd.exe en tant qu’administrateur, pour lancer HyperV : dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All

Configuration de votre système pour déploiement sur votre SmartPhone

Attention, développer sur son SmartPhone n’est pas immédiat. En effet il vous faudra faire quelques manips avant de pouvoir déployer votre application depuis Visual Studio sur un vrai SmartPhone (Cf. Installation de SmartPhone pour le déploiement)

  • En premier lieu, il va falloir que votre SmartPhone soit bien en mode « Développement et Debugging ». Pour cela il va falloir vous rendre dans Paramètres\Options de développement à activer avec les options souhaitées.

Notons que cet item peut ne pas apparaître dans le menu Paramètres dans les dernières versions des Smartphone. Il vous faudra alors aller dans Paramètres\A propos de l’appareil puis dans infos logiciel pour appuyer 7 fois sur « Numéro de version » pour déclencher le mode développement et faire apparaître Paramètres\Options de développement. Ca ne s’invente pas !

  • En second lieu il faut que ne que le driver USB de votre SmartPhone soit installé… Si ça n’est pas le cas, nombre de sites vont alors vous permettre de récupérer le ou les drivers qui vont bien.
    • Nombre de sites vont alors vous permettre de récupérer le ou les drivers qui vont bien.
      • Le plus utilisé est celui de Google USB Driver
      • Il y a ceux des OEMs que vous trouverez dans cette page
      • Enfin pour les drivers restants, il faudra chercher. Exemple : pour le Samsung S7, Model SM-G930F, il faudra chercher et trouver par exemple

Tous les tests se feront sur un projet Cross-Development Blank Native Portable

Les tests de l'application par défaut d'un projet Cross-Development Blank Native Portable seront faits sur les cibles suivantes

  • Sous Android et simulateur (attention que votre version du SDK de compilation soit inférieur à la version android de l'émulateur)
  • Sous Android et SmartPhone (attention que votre version du SDK de compilation soit inférieur à la version android du smartphone)
  • Sous Windows Phone et simulateur (attention d'avoir installer les packages sous Visual studio pour développer sous windows phone 8.0 et/ou windows phone 8.1)
  • Sous Windows Phone et SmartPhone (attention d'avoir installer les packages sous Visual studio pour développer sous l'OS windows de votre cible). Si votre Smartphone est sous windows 10, vous pourrez développer des applications universelles. Pour ajouter des applications universelles dans Xamarin référez-vous à la page (Adding a Universal Windows Platform (UWP) App)

Note : le SDK de compilation est géré par Outils/Android/Android SDK Manager. Vous pouvez grâce à cet outils, charger les SDK dont vous avez besoin.

Développement sous Xamarin

Note : Si vous rencontrez des problèmes de version de SDK pour le Designer Android, n'hésitez pas à installer les SDKs les plus récents depuis le site

La suite de ce tutorial s'appuie sur les pages. Les principaux concepts y sont introduits :

En particulier, nous verrons les différentes étapes du développement multi-plateformes :

  • Configurer votre solution
  • Écrire le code de service de données partagé
  • Commencer la rédaction du code de l’interface utilisateur partagé
  • Tester votre application avec l’émulateur Visual Studio pour Android
  • Terminer l’interface utilisateur avec une apparence native entre les plateformes

Un projet est proposé qui ne travaille que sur le projet “partagé” entre toutes les cibles pour la partie métier mais aussi UI. Il s'agit alors d'un pur projet multi-cibles.

La suite de ce tutorial s'appuiera le document suivant :Créer des applications Xamarin avec une interface utilisateur native dans Visual Studio .

Dans ce cas les interfaces (UI) seront développées dans chacun des projets associés aux cibles spécifiques. l'UI sur Android sera développée dans le projet Android et l'UI sur Windows Phone dans le projet Windows Phone.

Attention, le service météo proposé dans ce tutorial n'est pas toujours disponible. Vous pourrez alors utiliser l'API current weather data de https://openweathermap.org/ qui vous retournera des données météo en JSON (il vous faudra simplement vous inscrire pour une version gratuite et récupérer une clef d'accès).

Un exemple qui vous intéresse pour le Projet du Module ...

Vous trouverez un exemple de développement sous Xamarin pour la reconnaissance d'activité sur les pages

Portez le sur votre SmartPhone. Testez le.

cours/plim/tutorial_xamarin.txt · Dernière modification: 2016/10/12 12:10 par tigli