Skip to content

monp/angular-comics-ionic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ionic logo

Ionic 1 permet de développer des applications mobiles hybrides à l’aide de Cordova ou PhoneGap plutot que des sites web responsives. A partir de Ionic 2, les Progressive Web Applications sont également supportées.

1. Références

2. Mise en place

Les étapes nécessaires pour bien démarrer le travail sont les suivantes.

2.1. Récupération des sources

Pour disposer des sources, utiliser git :

git clone https://github.com/monp/angular-comics-ionic.git

La branche de travail est master.

2.2. Téléchargement des modules

Les outils utilisés pour ce workshop sont les mêmes que pour le workshop AngularJS.

ionic

Installer Ionic CLI et Cordova.

npm install -g ionic cordova

3. Premiers pas

Le travail consiste à développer une application mobile pour visualiser des comic books. Nous allons essentiellement réutiliser le code du workshop AngularJS.

3.1. Squelette de l’application

├── hooks      // Cordova hooks permet d'exécuter des commandes spécifiques pendant le build
├── platforms  // build spécifiques iOS/Android
├── plugins    // plugins Cordova et Ionic
├── resources  // icône et écran de démarrage
├── scss       // styles scss, générés par gulp dans www/css/
├── www
     ├── css   // styles css
     ├── img   // images
     ├── js    // code Angular + JS
     ├── lib   // bibliothèques
     ├── manifest.json   // informations de déploiement
     ├── index.html  // master page
├── bower.json
├── config.xml     // configuration Cordova
├── gulpfile.js    // configuration gulp
├── ionic.config.json  // configuration ionic
├── package.json
Warning

Nous utiliserons Ionic CLI pour construire notre projet. Dans le cas où des dépendances bower devrait être copiés, le plus simple est de créer un fichier .bowerrc et d’indiquer le répertoire de sortie.

3.2. Lancement du serveur standalone

Un serveur de développement peut être lancé avec Ionic CLI. Le rechargement automatique du navigateur web est supportée par défaut.

ionic serve

Afin de tester le rendu en simultané sur iOS et Android ajouter l’option --lab.

ionic serve --lab

4. Affichage de la bibliothèque de comics

Nous allons compléter le code afin d’afficher la liste des comics, à cet effet nous pourrons réutiliser le code AngularJS du précédent workshop.

4.1. Affichage de la liste des Comics

  • Modifier le fichier /www/templates/tabs.html et ajouter un onglet Comics

    comics tab

Les attributs icon-off et icon-on permettent de changer l’apparence de l’icône en fonction de son état.

  • Créer une vue associée tab-comics.html, dans un premier temps les données sont saisies en dur dans le modèle html.

  • Modifier le fichier app.js et créer une règle de routage pour la vue tab-comics.html

Normalement vous devriez être maintenant en mesure d’afficher un listing de comics en naviguant dans votre nouvel onglet.

Ionic comics

Lors de la navigation, le titre de la vue s’affiche automatiquement dans le composant ion-nav-bar définit dans le fichier index.html.

4.2. Récupération des données

  • Créer un service comicsService pour récupérer les données à partir du serveur de Marvel.

Warning

N’oubliez pas d’indiquer votre clé d’API.

Important

Si vous souhaitez utiliser angular-resource n’oublier pas d’importer la dépendance et de déclarer le module dans l’application.

  • Créer un controleur comicsController, injecter le service comicsService et retourner la liste de comics.

  • Associer le controleur comicsController à la vue tab-comics.html en modifiant la règle de routage dans app.js.

Pour associer un controleur à une vue, ajouter l’attribut controller à la suite de templateUrl

  • Modifier le modèle tab-comics.html afin de prendre en compte les données chargées.

4.3. Affichage des détails d’un comic

  • Créer une vue comic-detail.html pour afficher les détails d’un comic. Reprendre les données affichées dans le workshop AngularJS.

Détail comic AngulaJS
  • Modifier la vue tab-comics.html afin de déclencher la navigation lors de la séléction d’un comic.

Utiliser l’attribut href pour déclencher la navigation et n’oublier pas de transmettre l’identifiant du comic dans l’URL.

  • Créer une règle de routage en modifiant le fichier app.js et récupérer le paramètre transmis lors de la navigation.

Le paramètre récupérer doit être nommé, par exemple /comics/:comicId. Afin de récupérer sa valeur, injecter $stateParams au niveau du controlleur et appeler $stateParams.comicId

  • Compléter le contrôleur et le service associé.

Ionic comic

5. Aller plus loin

  1. Remplacer Gulp par Grunt

    • Ajouter des tests unitaires et e2e

    • Intégrer les commandes Ionic CLI

  2. Gérer une liste de favoris

    • Tester différentes méthodes de stockage

    • Intégrer des fonctionnalités proposées par Cordova

  3. Utiliser un simulateur ios ou Android

    • cordova add platform {ios|android}

    • En développement, résoudre les problèmes de sécurité (CORS)

  4. Migrer le code vers Ionic 2

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors