{"id":400,"date":"2019-01-09T11:31:57","date_gmt":"2019-01-09T10:31:57","guid":{"rendered":"http:\/\/lalloue.fr\/blog\/?p=400"},"modified":"2019-01-09T11:31:59","modified_gmt":"2019-01-09T10:31:59","slug":"debuter-avec-xamarin","status":"publish","type":"post","link":"http:\/\/lalloue.fr\/blog\/debuter-avec-xamarin\/","title":{"rendered":"D\u00e9buter avec Xamarin"},"content":{"rendered":"<p><a href=\"http:\/\/lalloue.fr\/blog\/wp-content\/uploads\/2016\/05\/xamarin.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-402 size-medium\" src=\"http:\/\/lalloue.fr\/blog\/wp-content\/uploads\/2016\/05\/xamarin-300x81.png\" alt=\"xamarin\" width=\"300\" height=\"81\" srcset=\"http:\/\/lalloue.fr\/blog\/wp-content\/uploads\/2016\/05\/xamarin-300x81.png 300w, http:\/\/lalloue.fr\/blog\/wp-content\/uploads\/2016\/05\/xamarin-768x208.png 768w, http:\/\/lalloue.fr\/blog\/wp-content\/uploads\/2016\/05\/xamarin-1024x277.png 1024w, http:\/\/lalloue.fr\/blog\/wp-content\/uploads\/2016\/05\/xamarin.png 1434w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Avec un nombre d&#8217;abonnement t\u00e9l\u00e9phonique dans le monde ayant d\u00e9pass\u00e9 les 7 milliards (oui, oui, plus d&#8217;un par habitant :&nbsp;<a href=\"http:\/\/www.journaldunet.com\/ebusiness\/internet-mobile\/1009553-monde-le-nombre-d-abonnes-au-telephone-mobile\/\">source<\/a>), les applications mobiles deviennent un vrai business \u00e0 ne surtout pas rater.<\/p>\n<p>Aujourd&#8217;hui, plusieurs techniques de d\u00e9veloppement mobile se battent pour gagner le c\u0153ur des d\u00e9veloppeurs.<br \/>\nLa plus simple et plus efficace est bien sur le d\u00e9veloppement natif pour chaque plateforme.<br \/>\nMais quand l&#8217;on veut <strong>r\u00e9duire le temps de d\u00e9veloppement<\/strong> et essayer de <strong>mutualiser le code &nbsp;d&#8217;une application<\/strong> pour faire des applications sur <strong>android, ios, windows phone<\/strong>, etc&#8230; il devient tr\u00e8s int\u00e9ressant de se pencher sur les solutions hybrides permettant de <strong>d\u00e9velopper 1 seule application pour toutes les plateformes<\/strong>.<\/p>\n<p>Xamarin fait parti de ces solutions hybrides.<\/p>\n<p><!--more--><\/p>\n<h3><strong>Xamarin c&#8217;est quoi au juste ?<\/strong><\/h3>\n<p>Xamarin est avant tout une entreprise&nbsp;qui a pour but&nbsp;de poursuivre le d\u00e9veloppement de Mono.<br \/>\nMono \u00e9tant un projet open-source&nbsp;proposant une impl\u00e9mentation de la plate-forme .Net sous UNIX.<br \/>\nCe projet va tr\u00e8s vite devenir int\u00e9ressant quand Xamarin va proposer de d\u00e9velopper en C# pour toutes les plateformes mobiles.<br \/>\nIl le devient encore plus en f\u00e9vrier 2016 quand il est rachet\u00e9 par Microsoft, qui rendra les outils Xamarin gratuits (a peu pr\u00e8s tous).<\/p>\n<p>Aujourd&#8217;hui Xamarin propose :<\/p>\n<ul>\n<li>un IDE gratuit intitul\u00e9&nbsp;Xamarin Studio<\/li>\n<li>Une int\u00e9gration compl\u00e8te \u00e0 l&#8217;outils Visual Studio<\/li>\n<li>Une couche commune \u201cCore\u201d qui&nbsp;utilise les librairies communes aux 3 plates-formes (andorid \/ iOS \/ Windows Phone)<\/li>\n<li>Pour chaque plateforme, une couche \u201cApp Layer\u201d (code sp\u00e9cifique \u00e0 la plate-forme) et une couche \u201cUser Interface\u201d<\/li>\n<\/ul>\n<p>Avec tout \u00e7a vous pouvez maintenant cr\u00e9er votre application Xamarin disponible sur les 3&nbsp;principales plateformes mobiles en d\u00e9veloppant un unique projet.<\/p>\n<h3><strong>Et compar\u00e9 \u00e0 Cordova ?<\/strong><\/h3>\n<p>Si vous vous int\u00e9ressez au d\u00e9veloppement mobile hybride, vous aurez sans doute dans votre liste de choix possibles la solution &#8220;Cordova&#8221; (ou Ionic qui utilise Cordova).<br \/>\nEn effet Cordova permet \u00e9galement de d\u00e9velopper une application qui pourra \u00eatre d\u00e9ploy\u00e9e sur les 3 stores.<br \/>\nJe ne rentrerai pas dans les d\u00e9tails dans cet article (mais peut \u00eatre dans un autre bient\u00f4t).<br \/>\nMais la principale diff\u00e9rence est qu&#8217;un projet Cordova n&#8217;est autre qu&#8217;un site web ex\u00e9cut\u00e9 dans une &#8220;webview&#8221; qui est elle-m\u00eame rattach\u00e9e \u00e0 la couche native de l&#8217;application g\u00e9n\u00e9r\u00e9e.<br \/>\nEn gros, Cordova permet \u00e0 un projet web d&#8217;acc\u00e9der aux fonctionnalit\u00e9s natives du t\u00e9l\u00e9phones.<br \/>\nTr\u00e8s pratique pour un d\u00e9veloppeur web qui peut faire des applications natives tr\u00e8s facilement, mais du coup on a quand m\u00eame les performances d&#8217;un projet web et non pas natif en sortie.<\/p>\n<p>Alors que Xamarin propose en sortie des applications pleinement natives et donc aucun probl\u00e8me de performance li\u00e9 au web.<\/p>\n<h3><strong>Par o\u00f9 commencer ?<\/strong><\/h3>\n<p>Avec la sortie de Xamarin en version gratuite, je me suis dit &#8220;c&#8217;est peut \u00eatre l&#8217;occasion de se lancer !&#8221;.<br \/>\nMais \u00e9tant compl\u00e8tement d\u00e9butant en Xamarin (j&#8217;utilise du C# pour des applications Windows par contre), le premier probl\u00e8me rencontr\u00e9 est : Par o\u00f9 commencer ?<\/p>\n<p>Je vais donc essayer de lister les ressources qui vous seront utiles pour d\u00e9buter votre projet Xamarin :<\/p>\n<ul>\n<li>La documentation<\/li>\n<\/ul>\n<p>Le site web de Xamarin propose une documentation tr\u00e8s riche, n&#8217;h\u00e9sitez pas \u00e0 vous y rendre si vous voulez vous renseigner sur une fonctionnalit\u00e9.<br \/>\nVous y trouverez \u00e9galement des exemples bien utiles.<\/p>\n<p>Documentation :&nbsp;<a href=\"https:\/\/developer.xamarin.com\/guides\/\">https:\/\/developer.xamarin.com\/guides\/<\/a><\/p>\n<ul>\n<li>Une formation xamarin<\/li>\n<\/ul>\n<p>Xamarin met \u00e9galement \u00e0 disposition une auto-formation guid\u00e9e tr\u00e8s riche.<br \/>\nMalheureusement, ce point fait partie des outils qui ne sont pas pass\u00e9s gratuits avec le rachat de Microsoft, il vous faudra donc sortir votre porte-monnaie, puisque \u00e7a co\u00fbte quand m\u00eame 1995$.<br \/>\nMais une version d&#8217;essaie de 30 jours vous donne quand m\u00eame acc\u00e8s, donc n&#8217;h\u00e9sitez pas et profitez en :<\/p>\n<p>Xamarin university :&nbsp;<a href=\"https:\/\/www.xamarin.com\/university\">https:\/\/www.xamarin.com\/university<\/a><\/p>\n<ul>\n<li>Des tutoriels en fran\u00e7ais<\/li>\n<\/ul>\n<p>Il n&#8217;y en a pas des centaines, mais quelques tutoriels fran\u00e7ais existent sur le net, voici une petite liste des tutotirels que j&#8217;ai trouv\u00e9 tr\u00e8s pratique :<\/p>\n<p><a href=\"http:\/\/blog.palo-it.com\/2014\/04\/29\/tutoriel-developper-nativement-pour-ios-et-android-en-c-net-avec-xamarin-partie-1\/\">D\u00e9velopper nativement pour ios et android avec xamarin<\/a><\/p>\n<ul>\n<li>Podcast : retour d&#8217;exp\u00e9rience sur la cr\u00e9ation d&#8217;un projet Xamarin<\/li>\n<\/ul>\n<p>Podcast : <a href=\"http:\/\/www.devapps.be\/podcast\/intro_xamarin_win_ios_android\">http:\/\/www.devapps.be\/podcast\/intro_xamarin_win_ios_android<\/a><\/p>\n<ul>\n<li>Des exemples de projets open-source<\/li>\n<\/ul>\n<p>Le site de Xamarin met \u00e0 disposition 5 projets compl\u00e8tement gratuits et open-source permettant de commencer sur la base d&#8217;une application existante<\/p>\n<p><a href=\"https:\/\/www.xamarin.com\/prebuilt\">Liste des projets &#8220;prebuilt app&#8221;<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Avec un nombre d&#8217;abonnement t\u00e9l\u00e9phonique dans le monde ayant d\u00e9pass\u00e9 les 7 milliards (oui, oui, plus d&#8217;un par habitant :&nbsp;source), les applications mobiles deviennent un vrai business \u00e0 ne surtout pas rater. Aujourd&#8217;hui, plusieurs techniques de d\u00e9veloppement mobile se battent pour gagner le c\u0153ur des d\u00e9veloppeurs. La plus simple et plus efficace est bien sur &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/lalloue.fr\/blog\/debuter-avec-xamarin\/\" class=\"more-link\">Continuer la lecture <span class=\"screen-reader-text\"> \u00ab\u00a0D\u00e9buter avec Xamarin\u00a0\u00bb<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"http:\/\/lalloue.fr\/blog\/wp-json\/wp\/v2\/posts\/400"}],"collection":[{"href":"http:\/\/lalloue.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/lalloue.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/lalloue.fr\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/lalloue.fr\/blog\/wp-json\/wp\/v2\/comments?post=400"}],"version-history":[{"count":6,"href":"http:\/\/lalloue.fr\/blog\/wp-json\/wp\/v2\/posts\/400\/revisions"}],"predecessor-version":[{"id":484,"href":"http:\/\/lalloue.fr\/blog\/wp-json\/wp\/v2\/posts\/400\/revisions\/484"}],"wp:attachment":[{"href":"http:\/\/lalloue.fr\/blog\/wp-json\/wp\/v2\/media?parent=400"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/lalloue.fr\/blog\/wp-json\/wp\/v2\/categories?post=400"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/lalloue.fr\/blog\/wp-json\/wp\/v2\/tags?post=400"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}