Application web ou application native ?
Une application native est écrite pour un système de téléphone précis et s'installe depuis une boutique. Une application web est un site qui s'ouvre par un lien et que l'on peut installer. Entre les deux, le bon choix dépend des besoins : accès à l'appareil, batterie, vitesse et diffusion.
Ce module ne couvre pas les outils natifs, comme un émulateur ou une boutique : le laboratoire est la plateforme web. Cette leçon apprend à comparer et à décider.
À la fin de cette leçon
Remarque
Je peux choisir entre une application web et une application native selon les besoins.
Mots clés
| Mot | Ce que ça veut dire |
|---|---|
| Application native | une application écrite pour un système de téléphone et installée depuis une boutique |
| Application web | un site qui s'ouvre par un lien dans le navigateur |
| Permission | l'autorisation que la personne donne pour l'appareil photo ou la position |
| Autonomie | le temps pendant lequel la batterie tient |
| Distribution | la façon dont l'application arrive chez les gens : un lien ou une boutique |
| Besoin bloquant | un besoin qu'une seule des deux solutions sait remplir |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Les deux approches diffèrent par cinq critères
Pour comparer, on regarde cinq critères : le code à écrire, la diffusion, la mise à jour, l'accès à l'appareil et le travail en arrière-plan.
Le tableau donne la tendance générale. Les détails changent d'un navigateur et d'un téléphone à l'autre.
Exemple : web et natif face à face
| Critère | Application web | Application native |
|---|---|---|
| Code | un seul pour tous les téléphones | un par système, souvent |
| Diffusion | un lien suffit | une boutique et sa validation |
| Mise à jour | immédiate, dès que les fichiers changent | à publier, puis à installer |
| Accès à l'appareil | limité, selon le navigateur | très large |
| Arrière-plan | limité | plus de possibilités |
| Hors ligne | possible avec un service worker | possible, de série |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Mesurer le poids de l'application du laboratoire
Le code de l'application de suivi d'habitudes tient dans quatre fichiers de texte : la page, les styles, le script et le service worker. Le Run affiche la taille de chacun en octets, puis leur total.
Le total doit être 4893 octets, soit moins de cinq kilo-octets. Les icônes ne sont pas comptées.
Compter les octets du code de l'application
docker exec jupyter wc -c app/index.html app/style.css app/app.js app/sw.jsAffichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.
Une permission se demande au moment du besoin
Pour utiliser l'appareil photo ou la position, une application demande l'autorisation de la personne. Dans le navigateur, la demande s'affiche quand le code utilise la fonction.
Demandez au bon moment, avec une phrase qui dit pourquoi. Une personne qui refuse doit pouvoir continuer à se servir du reste.
Batterie et vitesse dépendent de l'usage
Une application qui calcule tout le temps ou reste active en arrière-plan vide la batterie. Les animations lourdes et le graphisme 3D demandent la puissance de l'appareil.
Une application native accède plus directement au matériel. Une application web passe par le navigateur : c'est suffisant pour un carnet ou une billetterie, moins pour un jeu 3D.
Exemple : quatre projets et leur choix
| Projet | Besoin principal | Choix probable |
|---|---|---|
| Carnet d'habitudes | un seul code, mise à jour immédiate | web |
| Billetterie d'un festival | partage par lien, sans boutique | web |
| Jeu en 3D très détaillé | puissance graphique | native |
| Objet connecté qui parle en Bluetooth | accès complet à la radio, travail en arrière-plan | native |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Une erreur fréquente
Attention
Beaucoup pensent qu'une application native est toujours meilleure, ou qu'une application web suffit toujours. Faux : chacune a ses forces. On part des besoins de la personne qui s'en servira, pas d'une préférence.
Comment décider avec une liste de besoins
Listez les besoins et notez chacun de 1 à 3 selon son importance. Additionnez d'un côté les besoins que le web remplit bien, de l'autre ceux que le natif remplit mieux.
Si un besoin natif a la note 3, il est bloquant : le choix est natif, quel que soit le total. Les besoins que l'on ne sait pas classer sont notés à part pour être discutés.