Sur mobile, les web apps valent-elles la peine ?
Les web apps, moitié plus consommatrices de CPU et d'énergie que les applications natives ? Une étude universitaire sur Android a abouti à ce constat.
Les web apps, tout juste bonnes à faire de l'acquisition ? Ruben Horn et ses collègues de l'université libre d'Amsterdam ne sont pas loin de l'affirmer. Leur support : une expérience dont ils viennent de communiquer les résultats.
Dans ce cadre, ils ont comparé la consommation d'énergie et de ressources hardware entre dix applications Android natives et leurs équivalents web.
Le framework Android Runner a été mis à contribution pour capturer cinq métriques. Dont la charge CPU, l'utilisation mémoire, la consommation d'énergie et le volume de trafic réseau.
Pour chaque application, on avait prédéfini un scénario. On installait les apps natives depuis l'APK et on exécutait les web apps dans Chrome. Si nécessaire, on authentifiait un utilisateur au préalable.
Lire aussi : PaaS et multicloud, une antinomie ?
Chaque version d'application a fait l'objet de 25 tests de durée fixe de 3 minutes. L'appareil : un Nokia 6.2 (modèle TA-1198 ; CPU 8 coeurs Snapdragon 636 ; 3 Go de RAM ; batterie 3500 mAh) doté d'Android Go 10 et connecté par USB3 à un système Linux exécutant Android Runner. Pour éviter les interstitiels, on a utilisé les DNS AdGuard.
Des web apps moitié plus gourmandes
Sur le volet consommation d'énergie, la différence est nette. Les web apps se sont révélées en moyenne 53 % plus gourmandes que les natives. L'écart est particulièrement important dans le cas de Twitch. Il l'est, au contraire, bien moins pour les applications d'e-commerce et de réseaux sociaux.
Lire aussi : La stratégie "green coding" d'AXA passe par les API
En matière de trafic réseau, les web apps s'en tirent un peu mieux (volume moyen plus bas). « Intuitivement plausible », veulent croire les chercheurs : les développeurs sont d'autant plus incités à réduire les exigences de bande passante que ces applications doivent souvent être retéléchargées au lancement.
L'écart constaté sur la consommation d'énergie se retrouve sur l'utilisation CPU. Celle des web apps dépasse celle des applications natives d'environ 50 %. La charge moyenne est d'environ 35 % pour les premières ; d'environ 25 % pour les secondes.
Les chercheurs le reconnaissent : leur analyse n'a pas pris en compte l'activité en arrière-plan, comme les notifications et le suivi de la localisation. Ils estiment pour autant qu'une inversion des courbes à la faveur des web apps relèverait de « cas extrêmes ». Leur conclusion : s'il s'agit d'optimiser l'autonomie de la batterie, les utilisateurs finaux préféreront les apps natives. Les développeurs y consacreront quant à eux le gros de leurs ressources. Quitte à proposer des fonctionnalités limitées sur leurs web apps et à encourager le basculement.
Une étude de 2016 impliquant la comparaison d'applications Java natives et d'applications JavaScript fondées sur le framework Cordoba avait abouti à des conclusions inverses. Horn et al. l'estiment incomplète : elle pas n'a tenu compte de la consommation des applications dans leur entièreté, se concentrant sur la partie compute.
Photo d'illustration © Kaspars Grinvalds - Adobe Stock
Sur le même thème
Voir tous les articles Green IT