LES BASES DEL’ARCHITECTURED’APPLICATIONSMOBILEB2B, B2C, BYOD, natif, web app, et autresmots clés démystifiés
Les 5 ères de l’architecture logicielle
Qu’est-ce qu’une application mobile• Application impliquant une interaction avec l’utilisateur• Conçus ou optimisée pour l...
Les catégories d’applications• Les applications se divisent presque exclusivement en 2catégories• B2C (Business-To-Consume...
B2C• Business-To-Consumer• Ce sont les applications comme Facebook, Future Shop, LaPresse+, Angry Birds, etc...• On doit é...
B2B• Business-To-Business• Dans le mobile, ça s’applique aux applications d’entreprises• Plus porté à aller vers une seule...
Architecture typique web en couche
Architecture web et mobile proposée
Les types d’applications (logiciel)Native Web app HybridePeut être déconnectée Doit avoir une connexionla plupart du temps...
Les sites web mobiles• Site mobile• Site web optimisé pourle mobile• Peut être applicatif (webapp) ou static• Nécessite la...
Les patterns de développement mobile• Présentation• Back-and-Save• Guess-Don’t-Ask• A-la-Carte-Menu• Sink-or-Async• Logon-...
Back-and-Save• Sauvegarder le plus souventpossible ce que l’utilisateur asaisie afin d’éviter de l’obligerà retaper en cas...
Guess-Don’t-Ask• Essayer d’anticiper les choixde l’utilisateur pour minimiserle nombre d’interactions. Onpense à « l’autoc...
A-la-Carte-Menu• Les choix doivent être clairset chacune des actions nedevraient pas être à plus de 2ou 3 clicksAt any tim...
Sink-or-Async• Tous les traitements prenantsplus de quelquesmillisecondes devraient êtreasynchroneImplementasynchronously ...
Logon-and-Forget• Toujours authentifierl’utilisateur une fois etsauvegarder les informationsde façon sécuritaire pour uned...
Babel-Tower• Autant que possible, toujoursutiliser un procédé pourprésenter l’application dansla langue de l’usager.Avoid ...
Do-as-Romans-Do• Respecter les conventionsd’utilisations des applicationsdes différentes plateformes.Juste à penser aux me...
List-and-Scroll• Présenter l’informations sousformes de listes. Beaucoupd’applications implémente cepattern.Don’t be afrai...
PredictiveFetch• Prédire les prochainesactions et pré charger lesdonnées. On peut s’aideravec un MVP et de l’analysed’util...
Memento-Mori• « Rappellez-vous que vousmourrez ». On doitsauvegarder son étatlorsqu’on est relégué àl’arrière plan car l’a...
As-Soon-As-Possible• Les fonctionnalités critiquesdevraient être traitées enpriorité et reprisesautomatiquement en casd’er...
Références• Architecting Mobile Solution For The Enterprise – DinoEsposito, Microsoft Press• BriteSnow - The Five Software...
Prochain SlideShare
Chargement dans…5
×

Architecture mobile

726 vues

Publié le

0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
726
Sur SlideShare
0
Issues des intégrations
0
Intégrations
4
Actions
Partages
0
Téléchargements
0
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Architecture mobile

  1. 1. LES BASES DEL’ARCHITECTURED’APPLICATIONSMOBILEB2B, B2C, BYOD, natif, web app, et autresmots clés démystifiés
  2. 2. Les 5 ères de l’architecture logicielle
  3. 3. Qu’est-ce qu’une application mobile• Application impliquant une interaction avec l’utilisateur• Conçus ou optimisée pour l’utilisation sur appareilsmobiles• Supporte différents types d’appareils. Au moins unetablette et/ou un téléphone intelligent.
  4. 4. Les catégories d’applications• Les applications se divisent presque exclusivement en 2catégories• B2C (Business-To-Consumer)• B2B (Business-To-Business)
  5. 5. B2C• Business-To-Consumer• Ce sont les applications comme Facebook, Future Shop, LaPresse+, Angry Birds, etc...• On doit évaluer le type d’app en B2C. Gratuite, payante ou« freemium ».• Les secteurs les plus attirés par B2C sont les transports, ventes audétails, santé, logiciels (jeu et autres), services financiers, media, etfournisseurs de contenus en général (YouTube, Songza, etc.)
  6. 6. B2B• Business-To-Business• Dans le mobile, ça s’applique aux applications d’entreprises• Plus porté à aller vers une seule plateforme et fournir le matériel etle logiciel.• Les applications du Apple Store à Sainte-Foy• L’application du MRN fait par notre ami Carl Chouinard.• C’est ce secteur qui a fait la fortune de BlackBerry à l’époque
  7. 7. Architecture typique web en couche
  8. 8. Architecture web et mobile proposée
  9. 9. Les types d’applications (logiciel)Native Web app HybridePeut être déconnectée Doit avoir une connexionla plupart du tempsPeut-être déconnectéeLongue à développer ($) Facile à développer Facile à développerUne app par plateforme Multiplateformes Multiplateformes (à 90%)Rapide Plus lente (au moins auchargement)Plus lente que natifPrésence dans les stores Référencement webnormalPrésence dans les stores
  10. 10. Les sites web mobiles• Site mobile• Site web optimisé pourle mobile• Peut être applicatif (webapp) ou static• Nécessite la présencede 2 sites avec unsystème de détection etd’aiguillage.• Responsive design• Site s’affichantdifféremment sur PC etsur mobile.• Plutôt pour les sitesstatic ou CMS• 1 seul site avecdétection et utilisation deCSS appropriés pourl’appareil et l’orientation
  11. 11. Les patterns de développement mobile• Présentation• Back-and-Save• Guess-Don’t-Ask• A-la-Carte-Menu• Sink-or-Async• Logon-and-Forget• Babel-Tower• Do-as-Romans-Do• List-and-Scroll• Comportement(behavior)• Predictive Fetch• Memento-Mori• As-Soon-As-Possible
  12. 12. Back-and-Save• Sauvegarder le plus souventpossible ce que l’utilisateur asaisie afin d’éviter de l’obligerà retaper en cas deproblèmes.Save the content ofinput screens when theuser leaves (or is forcedto leave) the screen
  13. 13. Guess-Don’t-Ask• Essayer d’anticiper les choixde l’utilisateur pour minimiserle nombre d’interactions. Onpense à « l’autocomplete »par exemple.Use any availableresources to makeintelligent guesses andsave users the largestpossible bit ofinteraction.
  14. 14. A-la-Carte-Menu• Les choix doivent être clairset chacune des actions nedevraient pas être à plus de 2ou 3 clicksAt any time, it should beclear for the user whichaction to take and howmany options she has.
  15. 15. Sink-or-Async• Tous les traitements prenantsplus de quelquesmillisecondes devraient êtreasynchroneImplementasynchronously anyoperations expected toperform for longer than abunch ofmilliseconds.
  16. 16. Logon-and-Forget• Toujours authentifierl’utilisateur une fois etsauvegarder les informationsde façon sécuritaire pour unedurée déterminé.You should ask forcredentials once, storethem safely, andtransparentlyauthenticate the user inevery session.
  17. 17. Babel-Tower• Autant que possible, toujoursutiliser un procédé pourprésenter l’application dansla langue de l’usager.Avoid hard-coded andfixed layout text anddesign your applicationto support the dynamicinjection of properlytranslated text.
  18. 18. Do-as-Romans-Do• Respecter les conventionsd’utilisations des applicationsdes différentes plateformes.Juste à penser aux menuscontextuels d’Android.It is compelling forusers, and possibly alsoadvantageous fordevelopers, to abide bythe lookand-feel and capabilities ofthe host operatingsystem
  19. 19. List-and-Scroll• Présenter l’informations sousformes de listes. Beaucoupd’applications implémente cepattern.Don’t be afraid of using(vertical) lists in yourmobile application, evenlong lists that containmore than 100 items toscroll.
  20. 20. PredictiveFetch• Prédire les prochainesactions et pré charger lesdonnées. On peut s’aideravec un MVP et de l’analysed’utilisation par exemple.If you depend onnetwork connectivity,download data that islikely to be used laterand makesure you have enoughdata stored at any timeto survive a lack ofconnectivity.
  21. 21. Memento-Mori• « Rappellez-vous que vousmourrez ». On doitsauvegarder son étatlorsqu’on est relégué àl’arrière plan car l’applicationpeut être terminée en touttemps par l’OS.Applications alwaysshould save theirrelevant state when theoperating system forcesthem intothe background.
  22. 22. As-Soon-As-Possible• Les fonctionnalités critiquesdevraient être traitées enpriorité et reprisesautomatiquement en casd’erreur. Implémenter desdétecteurs de connexionréseau pour reprendre unemise à jour échouée parexemple.Remote operations thatare critical for theapplication should beimplemented in aprotectedmanner and reiterated afew times before failing.In case of failure,however, the operationshouldbe recorded and playedback as connectivityreturns.
  23. 23. Références• Architecting Mobile Solution For The Enterprise – DinoEsposito, Microsoft Press• BriteSnow - The Five Software Architecture Generationshttp://britesnow.com/blog/software-architecture-evolution-mobile-apps-to-html5• Choosing The Right Architecture For Developing MobileApplicationhttp://www.enterprisecioforum.com/en/blogs/sukumarofs/choosing-right-architecture-developing-m)

×