Concevoir une app pour iOS, watchOS, tvOS et OS X

Ces dernières années, Apple n’a eu de cesse de favoriser la mise en commun du code au coeur des applications.

Que ce soit le code de traitement des données (base de données, services web) ou le code permettant l’affichage de contenu : quasiment tout est transposable sur chacune des plateformes Apple.

Une base commune

Que ce soit OS X, iOS, tvOS ou watchOS, les plateformes majeures de chez Apple partagent le même socle technique. Toutes reposent sur BSD, un système Unix open-source.

Mais ce n’est pas tout : la très grandes majorités des bibliothèques qui gèrent l’affichage, les bases de données, le multi-tâches, et autres sont communes.

Seules quelques spécificités historiques font que la différence est plus importante entre iOS et OS X. Par exemple, OS X utilisera les « NSView » alors que le même type de composant iOS s’appellera « UIView ». Et pourtant, les mécaniques d’utilisation sont malgré tout assez proches.

Même les langages sont communs : Swift, Objective-C, C, C++.

Quelques spécificités

Les principales différences se trouvent au niveau de l’interactivité et de l’ergonomie :

  • sur ordinateur, on est face à une machine avec souris / pavé tactile + clavier physique
  • sur tablette, on interagit directement sur le contenu, sur un écran tactile tenu à deux mains
  • sur smartphone, on interagit souvent d’une seule main, de manière ponctuelle, sur un écran tactile – et avec plusieurs niveau de tapotement
  • sur la montre, on interagit un peu via écran tactile, mais surtout avec la molette latérale afin de voir le contenu- et avec plusieurs niveau de tapotement
  • sur TV, on interagit à distance via une télécommande tactile, on n’a pas forcément un angle de vue idéal, on est souvent plusieurs.

Ensuite, les autres spécificités dépendent des capacités de l’appareil.

L’exemple « Apple » : la suite bureautique

Que ce soit Pages, Numbers ou Keynote, les 3 produits phares de la suite bureautique Apple partagent en grande partie le même code source : de mémoire, c’est de l’ordre de 70 % de code en commun.

Pourtant, la suite est disponible sur iPhone, iPad et Mac !

L’EXEMPLE « Morin Innovation »

Pour une application réalisée dans un cadre associatif, j’ai pu tester ces différents aspects.

L’application conçue sur iPhone a l’origine s’est facilement adaptée à l’iPad : il suffit d’ajuster l’ergonomie.

De la même manière, les extensions « Aujourd’hui » et les notifications sur la Watch se font via un partage de code avec l’application principale.

Et, pour la version Apple TV (tvOS), je n’ai pas eu grand chose à adapter si ce n’est l’ergonomie. Mais la plupart des composants sont réutilisables.

La partie la plus technique et la plus complexe : à savoir la récupération des données sur les différents services web, le stockage des données en cache, le chargement des miniatures et même la lecture vidéo utilisent un code commun.

En quelques heures, on peut adapter une application simpliste tout en respectant parfaitement les guidelines de chaque OS.

Conclusion

L’expérience multi-plateformes Apple est un vrai succès. Le code est systématiquement stable et optimisé, ce qui garantie une bonne qualité sans compromis.

D’autant que l’app iOS et l’app tvOS partagent un même identifiant App Store, ce qui enrichit l’universalité de l’expérience.

Il manque juste une intégration plus poussée du système OS X : une nomenclature plus proche de iOS, un identifiant App Store unique et ce serait une plateforme de rêve.

Microsoft suit également cette même voie, avec son nouveau système Windows 10, qui profite des mêmes avantages.

Seul Google est à la traîne de ce côté-là, à des années-lumières de l’uniformité et de la cohérence entre les plateformes : mais peut-être aura-t-on une heureuse surprise dans les mois qui viennent ?

Laisser un 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 )

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 )

Photo Google+

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

Connexion à %s