Mickaël BARON - Version 02-2023
Creative Commons
Contrat Paternité
Partage des Conditions Initiales à l'Identique
2.0 France
creativecommons.org/licenses/by-sa/4.0Pas le temps ⏳ de tout traiter
Expérimentation via des exercices
Prérequis
Annuaire : appsco.pe
L'Equipe
Twitter Lite
Hybride avec WebView
Hybride Native
Web | PWA | Hybride WebView | Hybride Native | Native | |
---|---|---|---|---|---|
Déploiement | URL | URL | Store | Store | Store |
Installation | Non | Oui | Oui | Oui | Oui |
Hors-Ligne | Non | Oui | Oui | Oui | Oui |
Notification | Non | Oui | Oui | Oui | Oui |
Accès API Natives | Non | Limité | Complet | Complet | Complet |
Composant | HTML | HTML | HTML | Natif | Natif |
Performance | - | - | + | ++ | +++ |
Web | PWA | Hybride | Native | |
---|---|---|---|---|
Développer uniquement du code web | X | X | X | |
Développer en Java, Kotlin ou Swift | X | |||
Ne pas installer SDK Android ou iOS | X | X | ||
Avoir un code identique sur Android ou iOS | X | X | X | |
Utiliser des APIs natives (caméra...) | X | X | X | |
Ne pas déployer dans un store | X | X | X | Android |
Développer un site web classique | X | |||
Développer des jeux-vidéos AAA | X | |||
Développer un site web marchand | X | X | X | |
Développer une station sol pour Drone | X | X | ||
À compléter... |
Basée sur des spécifications existantes du W3C
Un fichier contenant des méta-données pour
{
"name": "PWA Sample",
"short_name": "PWAS",
"start_url": "/",
"display": "standalone",
"background_color": "#ffffff",
"lang": "en",
"scope": "/",
"theme_color": "#ffffff",
"icons": [
{
"src": "pwa-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
...
]
}
Clés disponibles ➡️ Manifest
Bonnes pratiques 👍
Déclaration dans le fichier index.html
<html>
<head>
<meta charset="UTF-8" />
...
<title>PWA Sample</title>
<link rel="manifest" href="/manifest.webmanifest" />
</head>
<body>
...
</body>
</html>
Le langage Javascript peut ne pas être suffisant ...
Rappel ➡️ traitement côté client et dans le navigateur
Usages qui motivent l'utilisation de WASM ?
Liste d'utilisation : webassembly.org/docs/use-cases
Problématiques
Objectifs
Sans cache : via la connexion vers le serveur
Avec cache : sans la connexion vers le serveur
$ npm i vite-plugin-pwa -D
Demo
Frameworks avec support Vue.js
Basés sur des implémentations WebView
Framework avec support Vue.js
Nativescript Vue.js en détail
Demo
Disponibles sur Github : github.com/mickaelbaron
Progressive Web App (PWA) - Bientôt
Hybride native (NativeScript-Vue)