Publié le 28/07/2021

Les applications mobiles : quelles technos à suivre en 2022 ?

Vous lisez sans doute cette première phrase à travers la lumière d’un smartphone où se trouve une multitude d’applications mobiles. Cet objet, qui par ses applications mobiles, a prouvé son importance dans le maintien du lien social et bien avant ça, qui a révolutionné notre quotidien. Les applications mobiles n’ont pas seulement révolutionné par leurs usages, elles l’ont également fait par les technologies qui les régissent. 2021 confirme une tendance, un changement, une nouvelle direction. Jetpack compose,SwiftUI, XCode Cloud,Flutter, reactNative, mais aussi les PWA et les webassembly, composent les briques techniques de ce changement. Tout ceci ne vous parle pas ? Pas de panique ! On débriefe.

Les débuts du développement mobile

Les débuts du développement sur mobile relevaient d’un vrai défi. Les premiers socles techniques trouvaient leurs sources dans les langages de programmation destinées aux applications bureautiques. La complexité des premières applications rendait leur conception difficile, et cibler l’ensemble des plateformes nécessitait un sacré budget. Réduire les coûts et la complexité pour voir émerger l’innovation, voilà comment je définirais les premières années du mobile.

Deux courants naissent alors de cette période : le natif et l’hybride.

Le concept des solutions hybrides est simple : écrire le code une fois, le faire tourner partout. On retrouve principalement deux grandes techniques : les solutions basées sur les technologies du web, en s’appuyant sur un navigateur (web-view) et celles qui transforment un code commun vers du code spécifique éditeur (iOS /Android). L’approche hybride nécessitait souvent ce que j’appelle, de la magie noire, car elle entraînait un mur de difficultés pour les développeurs non mobiles.
Les éditeurs de leurs côtés rendaient leurs solutions natives plus riches et plus sexy jour après jour.

En parallèle, nous assistions à la naissance d’un troisième courant avec JavaScript/HTML5 qui mimait le monde des apps mobiles pour offrir les PWA et web-app (application web), le tout accompagné d’une documentation simple et complète. Les notifications push, le stockage local et le fonctionnement sans connexion rendent la frontière entre web et app de plus en plus floue.

Le mobile a longtemps inspiré le web. C’est maintenant l’inverse.

En 2013, Facebook présentait une nouvelle manière de faire des web-app avec une approche déclarative (It should look like this), fondée sur des composants visuels réutilisables : ReactJs.
En 2014, sors la première version du manifeste réactive dessinant les bases d’un code dirigé par les événements et vite adopté par les grands du web.
ECMAScript 7 (spécification du JavaScript) introduit en 2017 une approche plus simple pour gérer l’ asynchrone: Async et away.

Ces trois événements définissent à eux seuls la direction prise pour 2022 par Google et Apple pour la création d’applications mobiles natives :

  • Jetpack compose et swiftUI embrasse l’approche déclaration et composable de ReactJS
  • Apple introduit cette année dans Swift, async, que l’on retrouve, sur le principe, dans les coroutines d’Android
  • L’approche réactive trouve sa place avec Combine et LiveData

Le natif se simplifie et les éditeurs mettent en place des facilitants chaque année. Prenez pour exemple l’annonce d’Apple pour sa solution d’intégration continue dans le cloud : XCode Cloud, qui retire une épine du pied à beaucoup de leads développeurs. Mais ce chantier de la simplification ne se passe pas uniquement coté natif.

Le web offre actuellement des capacités presque sans limites.

Regardez l’arrivée de jeux vidéo récents sur navigateur mobile. Les PWA ont tout pour remplacer les traditionnelles applications des stores. Les webAssembly, ces petits programmes binaires qui tournent dans le navigateur, brisant les dernières barrières techniques.
Pourtant les PWA font face à quelques ombres au tableau. L’expérience reste limitée sur mobile. Apple ralentit l’industrie au nom, selon leurs propos, de la protection de la vie privée. Rajouter à cela le réflexe d’une grande majorité de passer avant tout par les magasins d’applications. Difficile de référencer une PWA sur les stores. Les PWA attendent leurs heures de gloire. En attendant, elles se cachent dans des apps hybrides, du moins sur mobile.

Qu’en est-il de l’expérience hybride ?

En effet, l’expérience hybride, elle s’est considérablement améliorée. La solution Flutter de Google, par exemple, permet d’écrire une application qui fonctionne sur desktop, web et mobile en garantissant de bonnes performances. Flutter gagne en popularité, mais vous oblige à rester dans les règles du Material design. La plupart des solutions souffrent de cette unification de l’expérience utilisateur.
À mon sens cette expérience est très importante. Chaque OS dispose de ses spécificités que seule une équipe bien familiarisée avec la plateforme sait offrir. Des approches moins globales, se focalisant uniquement sur des aspects spécifiques, est le meilleur des deux mondes.
Et dans ce domaine ReactNative (petit frère de ReactJs) a de beaux jours devant lui. Il vous permet de concevoir une application complexe, mais surtout de venir en complément d’un code natif. Mutualisé des vues entre l’ensemble des plateformes tout en se gardant le luxe d’offrir une intégration au système sans faute ; voilà la tendance à laquelle je crois pour demain.

C’était mieux avant ou maintenant ?

Il est plus simple aujourd’hui de faire une application qu’hier. Cela donne plus de temps pour prendre en compte les nouvelles contraintes du marché, travailler sur les performances ou l’intégration au système, mais surtout se concentrer sur les nouveaux usages. Les usages de demain seront très riches. La réalité augmentée, l’intelligence artificielle, voire un mixte des deux. Oui, les usages de demain sont prometteurs, et ils se construisent dès aujourd’hui.

Si vous devez retenir qu’une chose de tout cela : ne vous demandez pas quelle technologie choisir mais quelle expérience et qualité de service vous souhaitez offrir, la technologie suivra.

 

David Spaeth – Mobile Team Leader JEMS

David Spaeth

Découvrez-en plus sur les applications mobiles & JEMS !