Les applications mobiles peuvent-elles utiliser une architecture sans serveur ?

Les applications mobiles hybrides, qui sont des applications web se comportant comme des applications mobiles natives, peuvent être développées en utilisant un backend sans serveur pour améliorer la scalabilité, réduire les coûts et exécuter le code depuis n'importe quel emplacement d'hébergement.

Share facebook icon linkedin icon twitter icon email icon

Applications mobiles sans serveur

Objectifs d’apprentissage

Après avoir lu cet article, vous pourrez :

  • Découvrir les différences entre les applications hybrides et les applications natives
  • Découvrir les possibilités de développement d'applications hybrides avec une architecture sans serveur
  • Comprendre les avantages que présente l'utilisation d'un backend sans serveur

Les applications mobiles peuvent-elles utiliser une architecture sans serveur ?

Une architecture sans serveur peut être utilisée pour construire des applications mobiles, en plus des applications web. Les applications mobiles hybrides développées avec un backend sans serveur permettent aux développeurs de bénéficier des avantages de l'informatique sans serveur tout en lançant des applications qui fonctionnent comme des applications natives sur presque tous les smartphones ou tablettes. Les applications mobiles sans serveur sont capables d'évoluer rapidement et facilement lorsque la base utilisateurs augmente.

Illustration d'une application mobile avec backend sans serveur

Qu'est-ce qu'une application mobile hybride ?

Les applications mobiles hybrides et les applications mobiles natives sont comparables à deux voitures ayant la même apparence, le même intérieur, une conduite quasi identique, mais avec des moteurs très différents sous le capot. Une application native est conçue spécifiquement pour un certain type d'appareil et de système d'exploitation, et sa logique est exécutée sur l'appareil lui-même.

Une application hybride est une application web utilisant le HTML, le CSS et Javascript, qui s'exécute dans un environnement appelé « native wrapper » pour pouvoir fonctionner comme une application mobile native sur un grand nombre d'appareils. Contrairement aux applications web ordinaires, les applications hybrides peuvent accéder à des fonctionnalités propres à la plateforme, y compris au matériel des appareils et à la fonctionnalité de notification « push » spécifique à certains types d'appareils. Ces applications hybrides peuvent être téléchargées depuis l'App Store ou Google Play et s'installent comme des applications natives, bien qu'il y ait souvent beaucoup moins d'applications à télécharger et à installer puisque la plupart, voire la totalité de la logique est hébergée dans le cloud.

Les applications hybrides ont gagné en popularité ces dernières années, car les problèmes de performances ont été pris en compte par les améliorations technologiques. Ainsi, les applications Uber, Instagram et Twitter sont toutes des applications hybrides. Les développeurs préfèrent parfois utiliser une architecture hybride plutôt que de créer des applications mobiles natives, de manière à ce que l'application n'ait pas besoin d'être recompilée dans plusieurs langages spécifiques à la plateforme utilisée pour différents appareils. Sans surprise, la création d'une application compatible avec plusieurs appareils permet généralement de gagner du temps, tant au niveau du développement que de l'assistance technique.

Comment fonctionne une application mobile avec un backend sans serveur ?

Avec les applications mobiles hybrides, les calculs sont réalisés dans le cloud, pas sur l'appareil. Tous les processus informatiques hébergés dans le cloud pour l'application peuvent être exécutés sans serveur, exactement comme pour une application web sans serveur. La seule différence majeure entre une application web sans serveur et une application mobile hybride sans serveur est le wrapper* natif du frontend.

Comme pour une application web sans serveur, le code de l'application est hébergé par un fournisseur serverless serveur qui prend en charge toute la gestion du backend. L'application est divisée en parties plus petites appelées fonctions. Ces fonctions ne sont pas hébergées sur des serveurs spécifiques. Chaque fonction est exécutée en réponse à des événements déclencheurs, et l'infrastructure du fournisseur démarre de nouvelles instances des fonctions selon les besoins. Par exemple, si un utilisateur appuie sur un bouton « Achat » dans une application sans serveur, cela peut déclencher une fonction ou une série de fonctions backend qui démarrent, enregistrent la transaction, puis lancent la livraison du produit acheté par l'utilisateur.

Quels sont les avantages de la création d'une application mobile avec un backend sans serveur ?

Les applications mobiles sans serveur offrent les mêmes avantages que la création d'une application web classique avec un backend sans serveur :

  • Scalabilité : les applications sans serveur sont automatiquement scalables
  • Réduction des frais généraux : le fournisseur gère l'ensemble du backend
  • Rapidité des mises à jour : les développeurs peuvent mettre à jour les fonctions une par une au lieu de mettre à jour une application complète à la fois. Par ailleurs, il n'est pas nécessaire d'attendre que les utilisateurs installent les mises à jour
  • Paiement à l'utilisation : les développeurs ne paient que pour la puissance de calcul utilisée par l'application, ce qui peut réduire les coûts permanents
  • Exécution du code partout : le code peut être exécuté sur un réseau périphérique afin de réduire la latence

Pour en savoir plus sur les applications sans serveur développées en JavaScript, voir Comment fonctionne le JavaScript serverless ?

*Comment fonctionne un wrapper natif ?

Les applications hybrides peuvent fonctionner comme des applications natives grâce à la WebView de l'appareil. WebView est un navigateur intégré à l'appareil qui affiche l'application comme le ferait un navigateur, tout en donnant aux développeurs une plus grande souplesse pour personnaliser l'apparence de leur application qu'un navigateur ordinaire. En outre, la plupart des WebViews permettent à l'application d'accéder aux fonctionnalités matérielles de l'appareil via une API.

Par exemple, lorsqu'un utilisateur ouvre Instagram, l'application ressemble à une application native qui est exécutée sur l'appareil. En réalité, c'est la WebView de l'appareil qui rend les pages web générées par Instagram. Le flux d'images que l'utilisateur voit lors de la première ouverture de l'application est une page web, et toutes les pages qu'il visite ensuite sont des pages web, bien qu'il ait l'impression qu'elles fassent partie d'une application native. Même s'il ne s'agit pas d'une application native, Instagram peut également accéder à l'appareil photo de l'appareil et aux photos stockées, et peut envoyer des notifications « push ».