Les contraintes liées au développement mobile

Le développement sur smartphones doit prendre en compte les spécificités de ce type de terminaux comme la gestion des ressources matérielles et réseaux limitées, la fragmentation importante des systèmes et des marketplaces, et l’hétérogénéité des environnements de développement.

Des ressources limitées

En comparaison à un poste de travail fixe, les terminaux mobiles ont des ressources matérielles et
réseaux limitées. Le développement devra intégrer ces contraintes.

  • La bande passante

  • Les smartphones sont généralement connectés à Internet via les réseaux edge ou 3G+ et de manière occasionnelle en wifi. Suivant la localisation du terminal, l’accès au réseau de données peut être interrompu : le mode déconnecté doit alors être géré au niveau de l’application. La gestion de la bande passante, de la latence et du cache de données applicatif sont donc des paramètres importants à prendre en compte dans le développement.

  • Le processeur, la mémoire et la batterie

  • Le développeur doit toujours être vigilant sur les ressources mémoires, processeurs et réseaux nécessaires au fonctionnement de son application. De façon générale, il doit développer son application autour d’une architecture logicielle économe en ressources matérielles.

Une fragmentation importante

  • La fragmentation des systèmes d’exploitation

  • Google a sorti 8 nouvelles versions de son système d’exploitation en 2 ans et demi alors qu’Apple se concentre sur une version majeure par génération de terminaux (iOS 3.X pour l’iPhone3, iOS 4.X pour l’iPhone 4 et iOS 5.X pour l’iPhone 5…). La raison de cette différence est qu’Apple contrôle et développe la partie matérielle en parallèle de la partie logicielle, sa politique étant de rendre les anciennes générations de terminaux obsolètes.

  • La fragmentation matérielle

  • Pour une même plateforme, les caractéristiques techniques des mobiles sont très variables en termes de processeurs, de mémoire, de taille d’écran. Le développeur doit être sensible à ces points pour garantir la compatibilité, l’accessibilité et la visibilité de son site ou de son application au plus grand nombre.

  • La fragmentation des marketplaces

  • Contrairement à Apple qui propose ses applications sur un seul marketplace officiel, Google a des partenaires comme Amazon. Le développeur sous Android doit donc publier sur ces 2 marketplaces pour s’assurer une visibilité maximum.

Une ergonomie spécifique

Les interfaces tactiles ont radicalement changé l’usage et l’ergonomie des applications mobiles. La navigation est désormais plus intuitive. Nous nous dirigeons vers une homogénéisation des interactions tactiles. Le web designer Luke Wroblewski propose un référentiel de gestuelles.

L’hétérogénéité des environnements de développement

Dans le cas du développement d’une application mobile en code natif, il y a une forte hétérogénéité des environnements de développement et des langages de programmation entre les plateformes mobiles. Le manque de standards induit un coût de développement et de maintenance applicative important si l’on souhaite être présent sur chacune des plateformes.

Conclusion

La simplicité d’utilisation des applications mobiles masque une complexité inhérente aux ressources limitées, au manque de standard et à l’ergonomie spécifique de ce type de terminaux. Les solutions multi-plateformes présentées dans l’article « le développement d’applications multi-plateformes sur smartphones » visent à diminuer ces contraintes.