Loupe

[Xamarin] Partie 2 - Création de la solution

Après avoir installé notre environnement de développement dans l'article précédent, voyons un peu maintenant comment créer et organiser notre solution entre les différents types de projets.

Pour l'exemple, nous verrons la conception de A à Z d'un client mobile pour le service en ligne Betaseries, permettant de gérer ses séries ainsi que leurs dates de sorties.

 

Création du projet Android

Commençons tout d'abord par créer un projet Android, plusieurs choix s'offrent à nous :

clip_image001

 

On optera ici pour la création d'un projet Android "Ice Cream Sandwich", il s'agit ici d'une application supportant la version 4.0 d'Android (API 15) et disposant de plus de fonctionnalités qu'un projet avec une version antérieure.

Appelons notre solution "MyWatchlist" et notre projet Android "MyWatchlist.Droid".

La création du projet “MyWatchlist.iOS” sera abordée dans un article ultérieur, lorsque l'on s'attaquera à la partie iOS.

 

Création du projet PCL

Viens maintenant la création du projet PCL (Portable Class Library) qui nous permettra de partager du code entre nos projets Android et iOS, nous l'appellerons "MyWatchlist.Core".

image

 

Il nous est ensuite demandé quelles plateformes nous voulons cibler avec notre PCL, laissez tout par défaut (vérifer que Xamarin.Android et Xamarin.iOS sont bien cochés).

Supprimez les fichiers "Activity1.cs", "Class1.cs" et les dossiers “ToDo-MvvmCross”.

Enfin, ajoutez votre projet PCL en référence dans votre projet Android.

Votre solution devrait maintenant ressembler à ça :

image

 

Intégration de MVVMCross

Une des problématique rencontrée sur Android et iOS est l'impossibilité d'utiliser nativement le pattern MVVM, MVVMCross répond à cette problématique.

Il permet de bénéficier des différents avantages proposé par MVVM (ViewModels, DataBinding, Converters), permettant ainsi la réutilisation des ViewModels sur différentes plateformes, MVVMCross étant disponibles pour Xamarin mais également pour Windows Phone ou encore WPF.

Pour l'installer, rien de plus simple, ouvrez le gestionnaire de packages NuGet depuis le menu contextuel de la solution, recherchez MVVMCross dans la catégorie online et GO.

image

 

Nuget proposera de l'installer à la fois pour le projet *.Core et *.Droid, .

L'installation finie, de nouveaux fichiers et dossiers ont été crées :

Dans MyWatchlist.Core
  • Dossier "ViewModels" : contiendra les ViewModels utilisés dans l'application
  • FirstViewModel.cs : le ViewModel associé à la vue principale de l'application Android
  • App.cs : Il s'agit de l'application MVVMCross (c'est ici que les injections de dépendances s'effectueront, nous y reviendrons plus tard dans la partie Android)
Dans MyWatchlist.Droid
  • Dossier "Views" : contiendra les Vues ou Activités utilisées dans l'application
  • FirstView.cs : l'activité principale de l'application
  • SplashScreen.cs : l'activité permettant l'afffichage d'un SplahScreen
  • Setup.cs : permet à MVVMCross de configurer l'application avant le lancement

 

Alternatives d'installation

Une autre solution consiste à utiliser le plugin NinjaCoder pour VisualStudio permettant de générer à la volée tous vos projets, pour ma part je préfère la solution classique pas à pas.

Lien : http://visualstudiogallery.msdn.microsoft.com/618b51f0-6de8-4f85-95ce-a50c658c7767

 

Prochaine partie, démarrage du projet Android !

Enjoy :)

Ces billets pourraient aussi vous intéresser

Vous nous direz ?!

Commentaires

comments powered by Disqus