Vers une architecture mobile efficiente

Efficience et efficacité

Introduction

Un grand nombre de gens pensent encore que le développement d’une application native a un coût élevé, qui serait dû à l’aspect redondant du re-développement – ou portage – d’application.

C’est une idée reçue car il existe de nombreuses astuces techniques qui facilitent bon nombre de tâches et réduisent ainsi significativement les coûts de réalisation.

Dans un précédent article je vous ai parlé d’applications hybrides, qui ont la particularité d’engendrer un gain de productivité considérable à travers l’intégration intelligente de contenu WEB.

Aujourd’hui j’aborde la notion d’architecture mobile efficiente, répondant notamment à la problématique d’intégration de flux d’information hétérogène, qui oblige à se connecter aux multiples adaptateurs techniques – ou API (Application Programming Interface) des services concernés (YouTube, LinkedIn, Twitter, Dailymotion, Viadeo, Facebook, etc …)

Etude de cas

Rentrons dans le vif de la démonstration.
Etudions le cahier des charges suivant :

Vous devez afficher sur les terminaux iOS, Android, Blackberry et site web, les éléments ci-dessous :
> dernières vidéos YouTube
> fil de news Twitter
> contact LinkedIn

Solution 1 : l’approche efficace de Jean
Solution 2 : l’approche efficiente* de Pierre

Solution 1 : l’approche de Jean

Jean est un bon chef de projet technique junior ; il a étudié les spécificités de chaque plate-forme, et va affecter les tâches d’intégration des API’s aux différents développeurs, en leur demandant d’utiliser les librairies suivantes :

Pour le développeur iOS (iPhone / iPad) :
> YOUTUBE : utilisation de la librairie Objective-C
> TWITTER : librairie d’intégration sur iOS
> LINKEDIN : utilisation de la lib IosLinkedInAPI sur GitHub

Pour le développeur Android :
> YOUTUBE : utilisation de la librairie Java
> TWITTER : librairie Twitter4j
> LINKEDIN : utilisation de la lib Scribe

Pour le développeur ASP.NET (pages webs) :
> YOUTUBE : utilisation de la librairie .Net
> TWITTER : librairie LINK2Twitter
> LINKEDIN : utilisation de la lib ASPSnippets

Solution 2 : l’approche de Pierre

Pierre est un chef de projet technique senior ; il demande prioritairement au développeur ASP.NET d’utiliser les librairies qui le concernent (ci-dessus), pour ensuite exposer ces mêmes données via un Web Service (ou fil RSS – pseudo Web Service standardisé).
Ainsi les autres développeurs iOS et Android n’auront qu’à consommer le Web Service nouvellement créé pour y afficher les données concernées : tâche triviale sans commune mesure avec la difficulté d’intégration multiple d’API tierces.

Mot du coach

Jean a prévu l’intégration de toutes les API’s sans en oublier aucune.
Pierre a prévu seulement une seule intégration : au niveau du serveur.

C’est bien ce qui différencie la personne efficiente de la personne efficace :
Quelqu’un d’efficace fait tout bien.
Quelqu’un d’efficient fait bien les bonnes choses.

Calcul de la charge

Dans ce cas pratique si N représente le coût d’intégration moyen d’une librairie, Jean a budgété 3N x [nombre-de-plate-formes], soit ici 9N.
Pierre aura budgété 3N + développement et intégration classique de RSS soit au total environ 5N.

Ex : Fil Twitter sur l’app Euler Hermes (EH Research)

twitter

Lorsque Euler Hermes nous a confié la réalisation mobile universelle (iPhone, iPad, Android, Web), il a fallu intégrer le fil d’actualité Twitter. Nous avons donc créé un Web Service retournant simplement la chaîne de caractère correspondante.

L’accès à l’API Twitter (et toute la complexité que cela implique : authentification, appel, traitement, mise en forme personnalisée et mise en cache du résultat) a été traité une seule fois : au niveau du serveur d’émission de données.

CONCLUSION

Une fois de plus nous avons fait de sérieuses économies, sans toucher à la qualité de l’application. En effet celle-ci reste native, voire même plus performante dans la mesure où la complexité d’accès au service souhaité (YouTube, Twitter…) a été gérée en amont.

Cette solution d’architecture mobile efficiente augmente ainsi la productivité mobile et par conséquent en réduit le coût.

Si vous voulez en savoir davantage, n’hésitez pas à nous contacter.


Maxime PITOT
Owner NUBYtouch
Formateur en mobilité au SAE Institute

*Petite question du coach, quelle est la différence entre l’efficacité et l’efficience ?
Réponse dans cet article, section « Mot du coach » !

Une réflexion sur “Vers une architecture mobile efficiente

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l’aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s