les bonnes pratiques du développement mobile - conférence mobility for business 2015
TRANSCRIPT
Les bonnes pratiques du développement mobile
Salon MOBILITY FOR BUSINESS - 6 Octobre 2015 Nicolas THENOZ et Jean-Christophe PASTANT
ComprendreLe monde est mobileMobile FirstLes Technologies mobilesLes impacts sur le SI
FaçonnerAgilitéSoftware CraftsmanshipDéployerFaire (sur)vivre son application
InnoverÉtendre le champ du mobileWearablesLe mobile, compagnon des objets connectés
Sommaire
Comprendre
Le monde est mobile
Le monde est mobile6 OCTOBRE 2015 - MOBILITY FOR BUSINESS
ALLIANCE
Le monde est mobileLe monde est mobile6 OCTOBRE 2015 - MOBILITY FOR BUSINESS
ALLIANCE
Penser Mobile First
ALLIANCE
Mobile First
Réaliser une application mobile n’est pas un simple portage de l’existant
● Repenser l’interface utilisateur
● Ne mettre que les fonctionnalités clés
Mobile First6 OCTOBRE 2015 - MOBILITY FOR BUSINESS
ALLIANCE
L’exemple FacebookL’exemple Facebook6 OCTOBRE 2015 - MOBILITY FOR BUSINESS
ALLIANCE
Les technologies mobiles
ALLIANCE
Les technologies mobiles
Applications natives
Sites web mobile
Applications hybrides
Applications transcodées
Les technologies mobiles6 OCTOBRE 2015 - MOBILITY FOR BUSINESS
ALLIANCE
Sites web mobile
➔ C’est le choix du coût minimal
Coûts
Temps de développement
Disponible sur toutes les plates-formes
Non disponible sur les stores
Peu résilient
Interface moins fluide
Sites web mobile6 OCTOBRE 2015 - MOBILITY FOR BUSINESS
ALLIANCE
Applications hybrides
➔ C’est le bon choix pour une application simple
(envoi de formulaires par exemple)
Disponibles sur les stores
1 seul langage à gérer
Ratio Qualité / Coûts faible
Adaptations nécessaires en fonction des plates-formes
Applications hybrides6 OCTOBRE 2015 - MOBILITY FOR BUSINESS
ALLIANCE
Applications transcodées
➔ À ce jour, la technologie n’est pas mûre
Interface adaptée au device
Accès à toutes les fonctionnalités du terminal
Gestion des cas hors ligne
Pérennité : la technologie bouge énormément
Développements spécifiques par plate-forme nécessaires
Applications transcodées6 OCTOBRE 2015 - MOBILITY FOR BUSINESS
ALLIANCE
Applications natives
➔ C’est le choix de la qualité optimale
Interface graphique avancée
Hautes performances
Accès à toutes les fonctionnalités du téléphone
Disponible sur les stores
Utilisation hors-ligne possible
Coûts
Revoir le code pour tablette
Applications natives6 OCTOBRE 2015 - MOBILITY FOR BUSINESS
ALLIANCE
Swift Technologies6 OCTOBRE 2015 - MOBILITY FOR BUSINESS
Gestionnaires de dépendance
IDE
Langages
Cocoapods Carthage Gradle
Xcode Android Studio
SwiftObjective-C KotlinJava
ALLIANCE
Les impacts sur le SI
ALLIANCE Optimiser les échanges client / serveur
Les impacts sur le SI
Optimiser le format des données
Optimiser la quantité de données à échanger
JSON XML
Les impacts sur le SIOptimiser les échanges client / serveur6 OCTOBRE 2015 - MOBILITY FOR BUSINESS
ALLIANCE Sécuriser les échanges client / serveur
Les impacts sur le SI
Sécuriser les sessions● Connexions chiffrées (TLS)● Authentification par token (OAuth)
Renforcer la robustesse des validations des données côté serveur
identifiant + password
token
token
données
token
données
Les impacts sur le SISécuriser les échanges client / serveur6 OCTOBRE 2015 - MOBILITY FOR BUSINESS
ALLIANCE
Gérer le multi-versioning
Anticiper les évolutions de services à fort impact
2.1
2.2
2.2
Anticiper la gestion des mises à jour
Les impacts sur le SI
1.0
1.1
1.2
1.3
1.4
2.0
1.2
2.0
Les impacts sur le SIAnticiper la gestion des mises à jour6 OCTOBRE 2015 - MOBILITY FOR BUSINESS
Façonner
http://www.runtime-era.com/2013/03/kaizen-through-kanban-simple-principles.html
Agilité
ALLIANCE Software Development Done Right
Agilité
Un des fondements de l’Agile : placer l’utilisateur au centre de la création du produit
● Récupération régulière de feedbacks● Accueil favorable des changements● Partage quotidien entre les membres de l’
équipe● Prédictibilité partagée
AgilitéSoftware Development Done Right6 OCTOBRE 2015 - MOBILITY FOR BUSINESS
ALLIANCE
Mini lexique de l’agilité
Sprint Release Backlog Product Owner
Mini lexique de l’Agilité6 OCTOBRE 2015 - MOBILITY FOR BUSINESS
ALLIANCE Nos retours d’expérience
Comment réaliser un projet mobile en Agile ?
● Une équipe projet inspirée des Feature Teams
● Un backlog dédoublé
● Des sprints synchronisés
● Releases à géométrie variable
Comment réaliser un projet mobile en mode AgileNos retours d’expérience6 OCTOBRE 2015 - MOBILITY FOR BUSINESS
ALLIANCE
Software Craftsmanship
ALLIANCE Le rôle de chacun
Tests unitaires et fonctionnels
Tests unitaires● Tester le code applicatif● Favoriser la collaboration entre développeurs ● Améliorer la productivité des développements● Détecter les régressions pendant les phases de refactorisations
techniques
Tests fonctionnels ● Tester le code métier● Favoriser la communication entre le client et l’équipe
développement● Assurer une non-regression fonctionnelle
➔ Fournit des métriques de non régression
Tests unitaires et fonctionnelsLe rôle de chacun6 OCTOBRE 2015 - MOBILITY FOR BUSINESS
ALLIANCE
Déployer
ALLIANCEDEVOPS : De la ligne de code à la mise en production
Les étapes du déploiement
Build du code
Exécution des tests (unitaires, fonctionnels)
Analyse de la qualité du code
Analyse de la performance applicative
Déploiement sur les environnements de Dev
Mise à jour des stories dans l’outil de tracking
Déploiement sur les environnements de prod
1
2
3
4
5
6
7
Les étapes du déploiementDevOps : de la ligne de code à la mise en production6 OCTOBRE 2015 - MOBILITY FOR BUSINESS
ALLIANCEDEVOPS : De la ligne de code à la mise en production
Les étapes du déploiement
Build du code
Exécution des tests (unitaires, fonctionnels)
Analyse de la qualité du code
Analyse de la performance applicative
Déploiement sur les environnements de Dev
Mise à jour des stories dans l’outil de tracking
Déploiement sur les environnements de prod
1
2
3
4
5
6
7
Les étapes du déploiementDevOps : de la ligne de code à la mise en production6 OCTOBRE 2015 - MOBILITY FOR BUSINESS
ALLIANCE
Jenkins : Suivi builds par environnement
Sonar : Suivi qualité du code Android/iOS Spoon : Visualisation tests fonctionnels
Dashboard projet
“Dashboards” de suivi projet
Fabric : Suivi sessions & crash
Suivi du projet Suivi du projet“Dashboards” de suivi projet6 OCTOBRE 2015 - MOBILITY FOR BUSINESS
ALLIANCE Faire (sur)vivre son application
ALLIANCE
Page store, vitrine de votre application
● Screenshots clairs● Texte simple (intro, bullet points, …)● Commentaires
Utiliser les storesUtiliser les stores6 OCTOBRE 2015 - MOBILITY FOR BUSINESS
ALLIANCE
Faire (sur)vivre son application
Mesurer la dette technique
Coût de correction de bug augmente avec le temps
Faire (sur)vivre son application6 OCTOBRE 2015 - MOBILITY FOR BUSINESS
Valider vos hypothèses produit
A/B Tester
Innover
Étendre le champ du mobile
ALLIANCE
Extensions
Permet de partager du contenu entre applications, de manière transparente
Proposer des extensions si votre application a vocation à manipuler un contenu utilisateur
Extensions6 OCTOBRE 2015 - MOBILITY FOR BUSINESS
Édition photo Partage (photo, statut, …) Gestion de documents
ALLIANCE
App Indexing
Indexer votre application pour permettre à l’utilisateur de rechercher
Nouveau vecteur pour les téléchargements :
l’indexation est utilisé pour offrir des
recommandations
App Indexing6 OCTOBRE 2015 - MOBILITY FOR BUSINESS
ALLIANCE
Univsersal linking
Support des url https
Le site web et l’application mobile ne font plus qu’un
À utiliser afin d’améliorer l’expérience utilisateur
Universal linking6 OCTOBRE 2015 - MOBILITY FOR BUSINESS
ALLIANCE
Wearables
ALLIANCE L’utilisateur physique
Wearables
Faire une application concise, avec peu de fonctionnalités
Proposer des informations éphémères
● Prochain train● Calories perdues● Score du match de rugby
Se synchroniser avec le serveur plutôt qu’avec l’application
Optimiser ses webservices pour consommer le moins de bande passante
WearablesL’utilisateur physique6 OCTOBRE 2015 - MOBILITY FOR BUSINESS
ALLIANCE
Le mobile, compagnon des objets connectés
ALLIANCE
● Le mobile est le centre de contrôle des objets connectés● Commodité : l’utilisateur a toujours son mobile sous la main
Le mobile, compagnon des objets connectésLe mobile, compagnon des objets connectés6 OCTOBRE 2015 - MOBILITY FOR BUSINESS
La montre, premier objet connecté notable, prolonge les fonctionnalités
du mobile.
Domotique : lampes, chauffage, portes & serrures, ou même
commande de lessive via un bouton.
Automobile : musique, GPS, ...
ALLIANCE
Conclusion6 OCTOBRE 2015 - MOBILITY FOR BUSINESS
Conclusion
MERCI