Outils pour utilisateurs

Outils du site


cours:plim:tutorial_xamarin

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
cours:plim:tutorial_xamarin [2016/10/12 09:09]
tigli
cours:plim:tutorial_xamarin [2016/10/12 12:10] (Version actuelle)
tigli
Ligne 1: Ligne 1:
 ====== Tutorial Xamarin et Cross Development ====== ====== 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 [[https://​www.sitepoint.com/​top-7-hybrid-mobile-app-frameworks/​|par exemple]] : 
 +    * [[http://​ionicframework.com/​|Ionic ]] 
 +    * 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 : 
 +    - utilisant le TAG plateform dans les fichiers XAML de description d'UI  
 +    - 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. ​ 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. ​ 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 ==+=== Introduction de Xamarin et Outils de développement ​===
   * [[https://​msdn.microsoft.com/​fr-fr/​library/​mt613162.aspx|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 :   * [[https://​msdn.microsoft.com/​fr-fr/​library/​mt613162.aspx|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 Windows et Android : un ordinateur de développement Windows où Visual Studio 2015 et Xamarin 4 sont installés.
Ligne 13: Ligne 30:
   * [[https://​msdn.microsoft.com/​fr-fr/​library/​mt488769.aspx|Vérification de l'​Environnement Xamarin]]   * [[https://​msdn.microsoft.com/​fr-fr/​library/​mt488769.aspx|Vérification de l'​Environnement Xamarin]]
     * 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 [[https://​developer.xamarin.com/​guides/​ios/​getting_started/​installation/​windows/​introduction_to_xamarin_ios_for_visual_studio/​offline.pdf|Introduction to Xamarin.iOS for Visual Studio]]     * 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 [[https://​developer.xamarin.com/​guides/​ios/​getting_started/​installation/​windows/​introduction_to_xamarin_ios_for_visual_studio/​offline.pdf|Introduction to Xamarin.iOS for Visual Studio]]
-  ​* ** Installation d'​Emulateurs  ​**+ 
 + 
 +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. 
 +{{:​cours:​plim:​tableau_comparatif_des_caracteristiques_entre_les_outils_xamarin.png?​600|}} 
 +=== 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 [[https://​blogs.msdn.microsoft.com/​visualstudioalm/​2014/​11/​12/​introducing-visual-studios-emulator-for-android/​| l'​introduction aux émulateurs de Visual Studio]]     * Il nous faut maintenant être capables de récupérer les émulateurs dont nous aurons besoin. Pour cela nous pouvons ​ suivre les indications de [[https://​blogs.msdn.microsoft.com/​visualstudioalm/​2014/​11/​12/​introducing-visual-studios-emulator-for-android/​| l'​introduction aux émulateurs de Visual Studio]]
     * L'​outil à installer est alors :  [[https://​www.visualstudio.com/​fr/​vs/​msft-android-emulator/​| Visual Studio Emulator pour Android]]. Il vous permettra de déployez, testez et déboguez des applications Android avec l'​émulateur Android.     * L'​outil à installer est alors :  [[https://​www.visualstudio.com/​fr/​vs/​msft-android-emulator/​| Visual Studio Emulator pour Android]]. Il vous permettra de déployez, testez et déboguez des applications Android avec l'​émulateur Android.
Ligne 21: Ligne 47:
 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 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  ​**+=== 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. [[https://​developer.xamarin.com/​guides/​android/​getting_started/​installation/​set_up_device_for_development/​|Installation de SmartPhone pour le déploiement]]) 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. [[https://​developer.xamarin.com/​guides/​android/​getting_started/​installation/​set_up_device_for_development/​|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. ​     * 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. ​
Ligne 31: Ligne 57:
           * Enfin pour les drivers restants, il faudra chercher. Exemple : pour le Samsung S7, Model SM-G930F, il faudra chercher et trouver [[https://​www.s7fanclub.com/​2016/​03/​galaxy-s7-drivers-download.html|par exemple]]           * Enfin pour les drivers restants, il faudra chercher. Exemple : pour le Samsung S7, Model SM-G930F, il faudra chercher et trouver [[https://​www.s7fanclub.com/​2016/​03/​galaxy-s7-drivers-download.html|par exemple]]
  
-== Tous les tests se feront sur un projet Cross-Development Blank Native Portable ==+=== 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 ​ 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 simulateur (attention que votre version du SDK de compilation soit inférieur à la version android de l'​émulateur)
Ligne 37: Ligne 63:
   * 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 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 [[https://​developer.xamarin.com/​guides/​xamarin-forms/​platform-features/​windows/​installation/​universal/​|page (Adding a Universal Windows Platform (UWP) App)]]   * 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 [[https://​developer.xamarin.com/​guides/​xamarin-forms/​platform-features/​windows/​installation/​universal/​|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 ==  == Développement sous Xamarin == 
Ligne 42: Ligne 70:
 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 [[ http://​androidsdkoffline.blogspot.fr/​p/​android-sdk-tools.html| site]] ​ 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 [[ http://​androidsdkoffline.blogspot.fr/​p/​android-sdk-tools.html| site]] ​
  
-Les principaux concepts que nous verrons en séance sont expliquer ​sur ces [[https://​msdn.microsoft.com/​fr-fr/​library/​mt679501.aspx|pages]].+La suite de ce tutorial s'​appuie ​sur les [[https://​msdn.microsoft.com/​fr-fr/​library/​mt679501.aspx|pages]]. 
 +Les principaux concepts y sont introduits :
  
 En particulier,​ nous verrons les différentes étapes du développement multi-plateformes : En particulier,​ nous verrons les différentes étapes du développement multi-plateformes :
Ligne 51: Ligne 80:
   * Terminer l’interface utilisateur avec une apparence native entre les plateformes   * Terminer l’interface utilisateur avec une apparence native entre les plateformes
  
-La suite de ce tutorial s'​appuiera ​sur un exemples concret à développer selon les indications suivantes ​: +Un projet est proposé qui ne travaille que sur le projet "​partagé"​ entre toutes les cibles pour la partie métier mais aussi UI. 
-[[https://​msdn.microsoft.com/​fr-fr/​library/​dn879698.aspx|Créer des applications Xamarin avec une interface utilisateur native dans Visual Studio +Il s'agit alors d'un pur projet multi-cibles. 
-]].+ 
 +La suite de ce tutorial s'​appuiera ​le document suivant ​:​[[https://​msdn.microsoft.com/​fr-fr/​library/​dn879698.aspx|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 [[https://​developer.xamarin.com/​samples/​monodroid/​google-services%5CLocation%5CActivityRecognition/​| pages]] 
 + 
 +Portez le sur votre SmartPhone. Testez le.
cours/plim/tutorial_xamarin.1476256176.txt.gz · Dernière modification: 2016/10/12 09:09 par tigli