1. Supports de cours
  2. Xamarin - Développez vos applications multiplateformes pour iOS, Android et Windows

Xamarin Développez vos applications multiplateformes pour iOS, Android et Windows

  • En stock
  • Expédié en 24h00
  • Livraison à partir de 0,01 €
  • Version en ligne offerte
  • 1 h d'accès gratuit à tous nos livres et vidéos pour chaque commande

Présentation

Ce livre sur Xamarin a pour objectif de donner aux développeurs les bases indispensables pour être autonomes dans la création d'une première application mobile multiplateforme (pour iOS, Android ou Windows) jusqu'à sa publication. Pour une bonne compréhension de son contenu, de simples connaissances en programmation orientée objet sont suffisantes.

Les premiers chapitres détaillent l'installation de Xamarin et la configuration des environnements de développement (avec Visual Studio) et le téléchargement d'émulateurs. Viennent ensuite les chapitres relatifs à la mutualisation du code, à la mise en place de tests pour vérifier la qualité du développement, à l'accès aux systèmes de fichiers et aux paramètres utilisateurs ou encore à l'utilisation du moteur de base de données SQLite.

Dans la suite du livre, les auteurs présentent au lecteur le cycle de vie d'une application en étudiant notamment les différents états d'une application, les méthodes utilisées ou encore les principaux événements.

Enfin, les derniers chapitres traitent de la personnalisation de l'interface graphique : navigation, création d'un formulaire, mise en forme des données, gestion des médias, contrôle WebView, utilisation d'un contrôle de cartographie, etc.

Des éléments complémentaires sont en téléchargement sur le site www.editions-eni.fr.


Les chapitres du livre :
Avant-propos – Introduction – Configurer vos environnements de développement – Modèle de compilation – Mutualisation de code – Les tests – Système de fichiers et paramètres – Utiliser une base de données – Consommer des webservices – Cycle de vie – Navigation – Mise en page – Les formulaires – Mise en forme des données – Gestion des médias – WebView – Cartes

Table des matières

  • Avant-propos
    • 1. Pourquoi ce livre ?
    • 2. À qui s’adresse cet ouvrage ?
    • 3. Remerciements
  • Introduction
    • 1. Qu’est-ce que la plateforme Xamarin ?
      • 1.1 L’environnement .NET sur iOS et Android
      • 1.2 Un accès à toutes les API natives
    • 2. Installer Xamarin
      • 2.1 Commencer avec Xamarin pour iOS
        • 2.1.1 Créer un compte développeur Apple Store
        • 2.1.2 Enregistrer son iPhone
      • 2.2 Commencer avec Xamarin pour Android
        • 2.2.1 Créer son compte développeur Google Play
        • 2.2.2 Télécharger les émulateurs Android
      • 2.3 Commencer avec Xamarin pour Windows
        • 2.3.1 Créer son compte développeur Windows Store
        • 2.3.2 Télécharger les émulateurs Windows Phone
    • 3. Conclusion
  • Configurer vos environnements de développement
    • 1. Introduction
    • 2. Configuration pour iOS
      • 2.1 Configuration du Mac
      • 2.2 Intégration avec Visual Studio
      • 2.3 Ajout d'émulateurs
    • 3. Configuration pour Android
      • 3.1 Intégration avec Visual Studio
      • 3.2 Les émulateurs
      • 3.3 Android SDK Manager
    • 4. Configuration pour UWP
      • 4.1 Installation de Visual Studio
      • 4.2 Mise à jour de Visual Studio
      • 4.3 Version de Xamarin installée
      • 4.4 SDK Windows 10
    • 5. Conclusion
  • Modèle de compilation
    • 1. Introduction
    • 2. Comment Xamarin crée-t-il des exécutables multiplateformes ?
      • 2.1 iOS et Android
        • 2.1.1 Spécificité iOS
        • 2.1.2 Spécificité Android
        • 2.1.3 Activer LLVM
        • 2.1.4 Choisir l’implémentation de HttpClient
      • 2.2 UWP
      • 2.3 Différence entre Debug et Release
    • 3. Le Linker
      • 3.1 iOS et Android
        • 3.1.1 Configurer son Linker
        • 3.1.2 Guider le compilateur Xamarin.iOS et Xamarin.Android
        • 3.1.3 Utiliser un fichier de configuration
      • 3.2 UWP
    • 4. Conclusion
  • Mutualisation de code
    • 1. Introduction
    • 2. Quelles sont les possibilités pour partager son code en Xamarin ?
      • 2.1 Présentation
      • 2.2 SharedProject
        • 2.2.1 Présentation
        • 2.2.2 Avantage
        • 2.2.3 Inconvénients
        • 2.2.4 Création d'un SharedProject
        • 2.2.5 Directive préprocesseur
      • 2.3 Portable Class Library
        • 2.3.1 Présentation
        • 2.3.2 Avantages
        • 2.3.3 Inconvénients
        • 2.3.4 Création d'une PCL
    • 3. Injection de dépendance
      • 3.1 Présentation
      • 3.2 Mise en place
        • 3.2.1 Création de l'interface
        • 3.2.2 Implémentation
        • 3.2.3 La classe Locator
        • 3.2.4 Utilisation
    • 4. MVVM
      • 4.1 Présentation
      • 4.2 Avantages
      • 4.3 Outillage
      • 4.4 MvvmCross
        • 4.4.1 Présentation
        • 4.4.2 Intégration de MvvmCross dans Windows, Android et iOS
      • 4.5 MVVM Light
        • 4.5.1 Présentation
        • 4.5.2 Intégration de MVVM Light dans Windows, Android et iOS
    • 5. Conclusion
  • Les tests
    • 1. Introduction
    • 2. Tests unitaires
    • 3. Créer des tests unitaires avec NUnit
      • 3.1 Créer un projet NUnit
      • 3.2 Créer une classe de Test
        • 3.2.1 Les méthodes de la classe Assert
      • 3.3 Afficher le résultat des tests
    • 4. Xamarin Test Cloud
    • 5. Conclusion
  • Système de fichiers et paramètres
    • 1. Introduction
    • 2. Accès aux fichiers
      • 2.1 iOS
        • 2.1.1 Présentation
        • 2.1.2 Répertoires d'application
        • 2.1.3 Lire et écrire dans les répertoires d'application
      • 2.2 Android
        • 2.2.1 Présentation
        • 2.2.2 Récupération des emplacements de stockage
        • 2.2.3 Permissions
        • 2.2.4 Manipulation des fichiers et dossiers
      • 2.3 Windows 10
        • 2.3.1 Présentation
        • 2.3.2 Dossiers et fichiers d'application
        • 2.3.3 Dossiers et fichiers auxquels les applications ont accès
      • 2.4 Code multiplateforme
        • 2.4.1 PCL Storage
        • 2.4.2 Ressources embarquées
    • 3. Paramètres utilisateur
      • 3.1 iOS
        • 3.1.1 Présentation
        • 3.1.2 Sauvegarde des préférences
        • 3.1.3 Récupération des préférences
      • 3.2 Android
        • 3.2.1 Présentation
        • 3.2.2 Sauvegarde des préférences
        • 3.2.3 Récupération des préférences
      • 3.3 Windows 10
        • 3.3.1 Présentation
        • 3.3.2 Local Settings
        • 3.3.3 Roaming Settings
        • 3.3.4 Donnée composite
        • 3.3.5 Les conteneurs
        • 3.3.6 Notifications sur les changements de données en itinérance
      • 3.4 Code multiplateforme
        • 3.4.1 Settings Plugin
        • 3.4.2 Créer la classe statique Settings
    • 4. Conclusion
  • Utiliser une base de données
    • 1. Introduction
    • 2. SQLite
      • 2.1 Plug-in SQLite
      • 2.2 Classe de données
        • 2.2.1 PrimaryKey
        • 2.2.2 AutoIncrement
        • 2.2.3 Autres attributs
        • 2.2.4 Type de données
      • 2.3 Service d’accès aux données
        • 2.3.1 DataItemRepository
        • 2.3.2 Repository : initialisation
        • 2.3.3 DataService : accès aux données
      • 2.4 Implémentation SQLite
        • 2.4.1 iOS
        • 2.4.2 Android
        • 2.4.3 Windows 10
    • 3. Conclusion
  • Consommer des webservices
    • 1. Introduction
      • 1.1 Verbes HTTP
      • 1.2 Création de requêtes
        • 1.2.1 API
        • 1.2.2 Création de requêtes
        • 1.2.3 Headers
        • 1.2.4 Contenu de requête
      • 1.3 Réponses
        • 1.3.1 Statut de réponse
        • 1.3.2 Lecture de la réponse
      • 1.4 Format JSON
        • 1.4.1 Présentation
        • 1.4.2 Création dynamique des classes
        • 1.4.3 Déserialisation
    • 2. Conclusion
  • Cycle de vie
    • 1. Introduction
    • 2. Cycle de vie
      • 2.1 iOS
        • 2.1.1 Introduction
        • 2.1.2 Les différents états d’une application
        • 2.1.3 Les méthodes du cycle de vie d’une application
        • 2.1.4 Les différents états d’un UIViewController
        • 2.1.5 Les méthodes du cycle de vie d’un UIViewController
      • 2.2 Android
        • 2.2.1 Introduction
        • 2.2.2 Les différents états d’une activité
        • 2.2.3 Les méthodes du cycle de vie
        • 2.2.4 Les changements de configuration
      • 2.3 UWP
        • 2.3.1 Introduction
        • 2.3.2 Les différents états d’une application
        • 2.3.3 Les principaux évènements du cycle de vie
    • 3. Conclusion
  • Navigation
    • 1. Introduction
    • 2. La navigation
      • 2.1 iOS
        • 2.1.1 Présentation
        • 2.1.2 Navigation simple
        • 2.1.3 Gestion via storyboard
        • 2.1.4 Navigation sans storyboard
        • 2.1.5 Navigation avec storyboard
        • 2.1.6 Passage de données entre UIViewController
        • 2.1.7 Persistance des données
        • 2.1.8 Enregistrement de l’état
      • 2.2 Android
        • 2.2.1 Présentation
        • 2.2.2 Définition d'une activité
        • 2.2.3 Navigation vers une autre activité
        • 2.2.4 Passage de données entre activités
        • 2.2.5 Exemple de navigation
        • 2.2.6 Persistance des données
      • 2.3 UWP
        • 2.3.1 Présentation
        • 2.3.2 La Frame
        • 2.3.3 Définition d'une page
        • 2.3.4 Navigation vers une autre page
        • 2.3.5 Passage de données entre pages
        • 2.3.6 Exemple de navigation
        • 2.3.7 Persistance des données
    • 3. Conclusion
  • Mise en page
    • 1. Introduction
    • 2. Structure d'une vue
      • 2.1 iOS
      • 2.2 Android
      • 2.3 UWP
    • 3. Mise en place d'une vue
      • 3.1 iOS
        • 3.1.1 Via fichier .xib
        • 3.1.2 Via C#
      • 3.2 Android
        • 3.2.1 Via AXML
        • 3.2.2 Via C#
      • 3.3 UWP
        • 3.3.1 Via XAML
        • 3.3.2 Via C#
    • 4. Système de mise en page
      • 4.1 iOS
        • 4.1.1 Présentation
        • 4.1.2 Frame-Based Layout
        • 4.1.3 Auto Layout
      • 4.2 Android
        • 4.2.1 Présentation
        • 4.2.2 LinearLayout
        • 4.2.3 RelativeLayout
        • 4.2.4 TableLayout
      • 4.3 UWP
        • 4.3.1 Présentation
        • 4.3.2 Canvas
        • 4.3.3 StackPanel
        • 4.3.4 Grid
    • 5. Conclusion
  • Les formulaires
    • 1. Introduction
    • 2. Les libellés
      • 2.1 iOS
      • 2.2 Android
      • 2.3 Windows 10
    • 3. Saisir un texte, un nombre
      • 3.1 iOS
      • 3.2 Android
      • 3.3 Windows 10
    • 4. Les boutons
      • 4.1 iOS
      • 4.2 Android
      • 4.3 Windows 10
    • 5. Les cases à cocher
      • 5.1 iOS
      • 5.2 Android
      • 5.3 Windows 10
    • 6. Curseur
      • 6.1 iOS
      • 6.2 Android
      • 6.3 Windows 10
    • 7. Afficher un chargement
      • 7.1 iOS
      • 7.2 Android
      • 7.3 Windows 10
    • 8. Afficher des alertes
      • 8.1 iOS
      • 8.2 Android
      • 8.3 Windows 10
    • 9. Utiliser une police personnalisée
      • 9.1 iOS
      • 9.2 Android
      • 9.3 Windows 10
    • 10. Conclusion
  • Mise en forme des données
    • 1. Introduction
    • 2. Lier la vue aux données
      • 2.1 iOS et Android
      • 2.2 UWP
        • 2.2.1 Lier une donnée à un contrôle
    • 3. Créer une liste
      • 3.1 iOS
        • 3.1.1 Présentation
        • 3.1.2 Créer une source de données
        • 3.1.3 Désactiver le séparateur de cellule
        • 3.1.4 Définir la hauteur des cellules
        • 3.1.5 Gérer la sélection d'une cellule
        • 3.1.6 Désactiver la sélection d'une cellule
        • 3.1.7 Ajouter des actions au swipe
        • 3.1.8 Pull To Refresh
        • 3.1.9 Endless Scrolling
      • 3.2 Android
        • 3.2.1 Présentation
        • 3.2.2 Les attributs
        • 3.2.3 Les adaptateurs
        • 3.2.4 Pull To Refresh
        • 3.2.5 Endless Scrolling
        • 3.2.6 Listener
      • 3.3 UWP
        • 3.3.1 Présentation
        • 3.3.2 Les attributs
        • 3.3.3 Endless Scrolling
        • 3.3.4 Implémentation générique
        • 3.3.5 Utilisation d'une liste à chargement incrémentiel
    • 4. Conclusion
  • Gestion des médias
    • 1. Introduction
    • 2. Afficher une image
      • 2.1 iOS
        • 2.1.1 Présentation
        • 2.1.2 Charger une image
        • 2.1.3 Afficher une image
        • 2.1.4 Sauvegarder une image
      • 2.2 Android
        • 2.2.1 Présentation
        • 2.2.2 Afficher une image
        • 2.2.3 Sauvegarder une image
      • 2.3 Windows 10
        • 2.3.1 Présentation
        • 2.3.2 Afficher une image
        • 2.3.3 Sauvegarder une image
    • 3. Lire un fichier audio
      • 3.1 iOS
        • 3.1.1 Charger un fichier audio
        • 3.1.2 Lire une musique
        • 3.1.3 Libérer les ressources du lecteur audio
        • 3.1.4 Augmenter/baisser le volume de la musique
        • 3.1.5 Jouer un son court (bruitage)
        • 3.1.6 Exemple complet
      • 3.2 Android
        • 3.2.1 Introduction
        • 3.2.2 Utilisation du MediaPlayer
      • 3.3 Windows 10
        • 3.3.1 Lire un contenu multimédia
        • 3.3.2 Lire un contenu vidéo dans un contrôle XAML
        • 3.3.3 Intégration avec le System Media Transport Controls (SMTC)
        • 3.3.4 Lire un contenu multimédia en arrière-plan
        • 3.3.5 Ajuster le volume d'un contenu multimédia
    • 4. Enregistrer un son
      • 4.1 iOS
        • 4.1.1 Autoriser l'application à accéder au microphone
        • 4.1.2 Définir le profil d'enregistrement
        • 4.1.3 Commencer l'enregistrement
        • 4.1.4 Terminer l'enregistrement
        • 4.1.5 Exemple complet
      • 4.2 Android
        • 4.2.1 Introduction
        • 4.2.2 Autoriser l'application à accéder au microphone
        • 4.2.3 Choisir le microphone
        • 4.2.4 Créer le fichier cible
        • 4.2.5 Définir le profil d'enregistrement
        • 4.2.6 Commencer l'enregistrement
        • 4.2.7 Terminer l'enregistrement
      • 4.3 Windows 10
        • 4.3.1 Autoriser l'application à accéder au microphone
        • 4.3.2 Choisir le microphone
        • 4.3.3 Créer le Graph audio
        • 4.3.4 Définir le profil d'encodage
        • 4.3.5 Créer le fichier cible
        • 4.3.6 Commencer l'enregistrement
        • 4.3.7 Terminer l'enregistrement
    • 5. Afficher des vidéos
      • 5.1 iOS
        • 5.1.1 Créer le lecteur vidéo
        • 5.1.2 Lire une vidéo
        • 5.1.3 Mettre pause
        • 5.1.4 Augmenter/baisser le volume audio
        • 5.1.5 Désactiver les boutons
      • 5.2 Android
        • 5.2.1 Créer le lecteur vidéo
        • 5.2.2 Lire une vidéo
        • 5.2.3 Arrêter une vidéo
      • 5.3 Windows 10
        • 5.3.1 Créer le lecteur vidéo
        • 5.3.2 Lire un contenu vidéo dans un contrôle XAML
        • 5.3.3 Maintenir l'écran allumé
        • 5.3.4 Déterminer si le contenu est de la vidéo
        • 5.3.5 Redimensionner une vidéo
    • 6. Conclusion
  • WebView
    • 1. Introduction
    • 2. Le contrôle WebView
      • 2.1 iOS
      • 2.2 Android
      • 2.3 UWP
    • 3. Navigation vers une page externe
      • 3.1 iOS
        • 3.1.1 Affichage d'une URL HTTPS
        • 3.1.2 Affichage d'une URL HTTP
        • 3.1.3 ScalePageToFit
      • 3.2 Android
      • 3.3 Windows
    • 4. Navigation vers une page interne
      • 4.1 iOS
        • 4.1.1 Ajout du fichier HTML dans l’application
        • 4.1.2 Navigation vers le fichier local
      • 4.2 Android
        • 4.2.1 Ajout du fichier HTML dans l’application
        • 4.2.2 Navigation vers le fichier local
      • 4.3 Windows
    • 5. Navigation vers du contenu HTML brut
      • 5.1 iOS
        • 5.1.1 Navigation vers une chaîne de caractères
        • 5.1.2 Navigation vers une chaîne de caractères qui utilise un contenu embarqué dans l’application
      • 5.2 Android
        • 5.2.1 Navigation vers une chaîne de caractères
        • 5.2.2 Navigation vers une chaîne de caractères qui utilise un contenu embarqué dans l’application
      • 5.3 Windows
        • 5.3.1 Navigation vers une chaîne de caractères
        • 5.3.2 Navigation vers une chaîne de caractères qui utilise un contenu embarqué dans l’application
    • 6. Évènements de navigation
      • 6.1 iOS
      • 6.2 Android
      • 6.3 Windows
        • 6.3.1 Évènements disponibles
        • 6.3.2 Navigation par protocole
    • 7. Communication avec la WebView et le code-behind
      • 7.1 iOS
        • 7.1.1 Appeler du code JavaScript depuis le code C#
        • 7.1.2 Appeler du code C# depuis le code JavaScript
      • 7.2 Android
        • 7.2.1 Appeler du code JavaScript depuis le code C#
        • 7.2.2 Appeler du code C# depuis le code JavaScript
      • 7.3 Windows
        • 7.3.1 Appeler du code JavaScript depuis le code C#
        • 7.3.2 Appeler du code C# depuis le code JavaScript
    • 8. Conclusion
  • Cartes
    • 1. Introduction
    • 2. Autoriser la localisation
    • 3. Utiliser une application de carte existante
      • 3.1 iOS
        • 3.1.1 Présentation
        • 3.1.2 Carte standard lancée par une URL
      • 3.2 Android
        • 3.2.1 Présentation
        • 3.2.2 Carte standard
        • 3.2.3 StreetView
      • 3.3 Windows 10
      • 3.4 Code multiplateforme
        • 3.4.1 Présentation
        • 3.4.2 Installation du plug-in de l'application
        • 3.4.3 Lancement de l'application
    • 4. Ajouter un contrôle de carte
      • 4.1 iOS
        • 4.1.1 Présentation
        • 4.1.2 Contrôle
        • 4.1.3 Centrage
        • 4.1.4 Affichage de la position de l'utilisateur
        • 4.1.5 Zoom
        • 4.1.6 Points d'intérêt
      • 4.2 Android
        • 4.2.1 Présentation
        • 4.2.2 Prérequis
        • 4.2.3 Permissions
        • 4.2.4 Contrôle
        • 4.2.5 Centrage
        • 4.2.6 Affichage de la position de l'utilisateur
        • 4.2.7 Zoom
        • 4.2.8 Points d'intérêt
      • 4.3 Windows 10
        • 4.3.1 Présentation
        • 4.3.2 Contrôle
        • 4.3.3 Centrage
        • 4.3.4 Récupération de la position de l'utilisateur
        • 4.3.5 Zoom
        • 4.3.6 Points d'intérêt

Auteurs

Jérôme GIACOMINIEn savoir plus

Jérôme GIACOMINI est référent technique sur les technologies cross-plateform chez Infinite Square. Également créateur indépendant d'applications mobiles avec les technologies .NET, il s'est naturellement intéressé à Xamarin pour contenter un plus grand nombre d'utilisateurs. Il participe également activement aux meet-up Xamarin en tant que speaker pour partager sa passion et son expertise sur cette technologie.

Maxime FRAPPATEn savoir plus

Maxime FRAPPAT est consultant sénior chez Aneo. Il est reconnu Microsoft MVP (Most Valuable Professional) dans la catégorie Visual Studio and Development Technologies, et depuis quelques années, il se passionne pour le développement multiplateforme. Il est auteur d’un livre sur le développement de jeux vidéo avec Unity3D aux Editions ENI.

Michaël FERYEn savoir plus

Après avoir été développeur Universal Windows Platform, Michaël FERY est aujourd’hui coach technique chez SOAT, cabinet de conseil informatique, de développement et de coaching. Il accompagne au quotidien ses clients dans la conception et la transformation durable de leurs applications. Tour à tour consultant, formateur et conférencier, il intervient également régulièrement lors d’événements Microsoft ou de meet-up pour y apporter son expertise de Microsoft MVP (Most Valuable Professional) Windows Development.

Thomas LEBRUNEn savoir plus

Thomas LEBRUN est architecte chez Infinite Square, cabinet d'expertise spécialisé dans le design et le développement d’applications logicielles pour les entreprises. Speaker régulier lors d'évènements Microsoft ou de meet-up, il est reconnu MVP (Most Valuable Professionnal) Visual Studio and Development Technologies. Il s'intéresse à Xamarin depuis les débuts de cette technologie, ce qui en fait un expert reconnu sur le sujet. Vous pouvez le suivre sur son blog http://blogs.infinitesquare.com/users/tlebrun ou sur son compte Twitter (http://twitter.com/thomas_lebrun).

Caractéristiques

  • Niveau Confirmé à Expert
  • Nombre de pages 478 pages
  • Parution octobre 2017
    • Livre (broché) - 17 x 21 cm
    • ISBN : 978-2-409-00747-7
    • EAN : 9782409007477
    • Ref. ENI : EPXAM

Téléchargements

En complétant ce formulaire, vous acceptez d'être contacté afin de recevoir des informations sur nos produits et services ainsi que nos communications marketing. Vous aurez la possibilité de vous désabonner de nos communications à tout moment. Pour plus d'informations sur notre politique de protection des données, cliquez ici.
  • Des fichiers complémentaires (104 Mo)