Le principal avantage des applications natives est qu'elles peuvent accéder à toutes les API natives qu'une plateforme pourrait offrir (contacts, flash d'appareil photo, SMS, téléphonie, réseau, bluetooth, capteurs, prises brutes ...) alors qu'une application web progressive ne peut pas (encore) car ils sont limités par les fonctionnalités Web standard.
L'objectif des applications Web progressives est d'étendre ces capacités pour couvrir les cas les plus critiques. Dans cette ambiance, jetez un œil à Progressive Web Apps: Escaping Tabs Without Loosing Our Soul où vous pouvez trouver une liste de ce qu'une application Web progressive devrait offrir:
- Réactif: pour s'adapter à tous les facteurs de forme
- Indépendant de la connectivité: progressivement amélioré avec les techniciens de service pour leur permettre de travailler hors ligne
- Interactions de type application: adoptez un modèle d'application Shell + Content pour créer des navigations et des interactions avec des applications
- Frais: toujours à jour de manière transparente grâce au processus de mise à jour du Service Worker
- Sûr: Servi via TLS (une exigence du Service Worker) pour empêcher l'espionnage
- Découvrable: sont identifiables comme des «applications» grâce aux Manifestes W3C et à la portée d'enregistrement des Service Worker permettant aux moteurs de recherche de les trouver
- Réengageable: peut accéder aux interfaces utilisateur de réengagement du système d'exploitation; par exemple, notifications push
- Installable: sur l'écran d'accueil via des invites fournies par le navigateur, permettant aux utilisateurs de «conserver» les applications qu'ils trouvent les plus utiles sans les tracas d'un magasin d'applications
- Lien: ce qui signifie qu'ils sont sans friction, sans installation et faciles à partager. Le pouvoir social des URL est important.
À partir de ces points, le lien a été l'une des premières caractéristiques importées par les applications natives de l'Open Web sous la forme de liens profonds mobiles .
Mais une mention spéciale mérite le combo frais + installable car il représente l'un des principaux avantages du Web en tant que plate-forme par rapport aux alternatives natives . Ici installable signifie qu'il apparaît dans votre écran d'accueil. Cela ne signifie pas que vous devez passer les étapes de téléchargement et d'installation. Vous ouvrez une URL ou découvrez un service en naviguant et c'est fait: il apparaît dans votre écran d'accueil .
Fresh fait référence au fonctionnement d'un site Web régulier, offrant une charge instantanée et des mises à jour transparentes. Vous n'êtes pas invité à installer une mise à jour à partir du Web de YouTube, elle est déployée et vous la consommez la prochaine fois que vous la visitez.
Je ne parle pas des avantages des points restants parce que vous demandiez les différences et, par exemple, le réengagement est quelque chose que les applications natives ont déjà via des services push et des notifications et maintenant les applications Web ont rattrapé leur retard.
Une autre question connexe et clé est de savoir quelle plate-forme est la plus adaptée à vos besoins. Si vous n'accédez pas à des capacités matérielles spéciales, le Web devrait suffire et en choisissant le Web, vous êtes libre des marchés, des écosystèmes propriétaires et, en passant, vous pouvez garantir un certain degré d'ubiquité et d' interopérabilité .
Pour finir , je vous recommande de parcourir www.flipkart.com depuis un mobile avec Chrome. C'est assez génial: pas de bugs, navigation fluide, sensation d'apps. Mettez-vous hors ligne et cela continuera à fonctionner. Un exemple vraiment réel de ce poste. Ajoutez l'application à l'écran d'accueil et la prochaine fois que vous l'ouvrez, l'expérience est encore meilleure.
Vous pouvez jeter un oeil à Firefox OS ainsi qu'à un exemple d'amener plus d'API de plate-forme au Web standard (avec plus ou moins de succès).