- Qu'est-ce que cela signifie que Magento est en train de devenir une plate-forme Web progressive?
- Quelle sera la structure de code des PWA dans Magento?
- Quel est le problème avec les API REST et les PWA?
Réponses:
Qu'est-ce que les applications Web progressives?
Pourquoi PWA?
Cette réponse couvre également - Installation de Magento 2.3 avec PWA
Prenons un exemple de Flipkart
Flipkart , le plus grand site de commerce électronique en Inde, a décidé de combiner sa présence Web et son application native dans une application Web progressive qui a entraîné une augmentation de 70% du nombre de conversions.
Approche
La nouvelle application Web progressive aide Flipkart à augmenter les conversions de 70%
Flipkart fonctionne également en mode hors ligne
NetworkFirst
, CacheFirst
ou NetworkOnly
.
SW-Toolbox
fournit un LRU
cache utilisé dans l'application Flipkart pour stocker les résultats de la recherche précédente sur la page de navigation et les dernières pages de produit visitées.TTL-based
cache que nous utilisons pour purger le contenu obsolète. Les travailleurs de service fournissent des primitives de script de bas niveau qui rendent cela possible.MAIS ... MAIS ... MAIS ...
Qu'est-ce que le Studio PWA Magento?
Le projet Magento PWA Studio fournit les outils suivants:
pwa-buildpack -
Buildpack est un ensemble de Webpack
plug-ins et d'outils utilisés pour le développement de thèmes Magento PWA.
Il est également utilisé pour configurer et configurer un environnement de développement local pour la plate-forme Magento 2.
Il contient les outils suivants:
Peregrine - Peregrine est un ensemble deReact components
créé pour gérerfonctionnalités spécifiques comme Magentorouting
,root-components
, gestionnaire de misepage,listes de produits,affichage des prix, etc.
Thème Venia -venia-concept
est un thème de démonstration créé par Magento à l'aide du studio Magento PWA. Il présente toutes les fonctionnalités, flux de travail et pages actuellement disponibles.
PWA Studio n'est pas
Une nouvelle version de Magento
Un remplacement de tous les front-end
Une application de bureau
Outils et bibliothèques utilisés dans les studios PWA
login.html
, shell-1234.js
,3456.js
Shell + Router + content
Coquille de page
La taille totale est plus grande (le contenu du tableau de bord se trouve dans dashboard-1234.js et 4567.js)
App prend plus de temps pour être prêt en ligne.
Charge initiale demande seulement deux fichiers: login.html
,login-2345.js
La charge initiale doit être chargée: Shell + content
Le shell + content
est visible plus tôt qu'avec l'approche App Shell.
Une approche hybride peut être utilisée lorsque shell et contenu sont séparés en deux requêtes (voir la page d'administration à titre d'exemple). Cela est logique lorsque le contenu est beaucoup plus volumineux que shell et que shell doit être visible plus tôt.
GraphQL dans Magento
Authentification et schéma
Réduction du nombre de requêtes frontales
Rendu de phase
Compatibilité du navigateur de bureau
Compatibilité du navigateur mobile
Non pris en charge : Android Webview, IE, Safari
Les PVA sont plus sécurisés
https
remplacer HTTP
. Les cybermenaces figurent toujours en tête de liste pour les développeurs d'applications Web et d'applications Web.HTTP
sécurité n'était pas suffisante pour protéger les informations des utilisateurs.HTTPs
et il est facile de lancer une application Web progressive dans un environnement sécurisé.PWA - Mode hors ligne
L'application Wikipedia en mode hors connexion est un bon exemple de PWA utilisant un modèle de shell d'application .
Progressive Web App représente sans aucun doute l'avenir du développement Web. À l'avenir, les sites de commerce électronique, les restaurants et les sources multimédias passeront d'une application native à une application Web progressive. Cependant, toujours dans la phase initiale, de nombreux développeurs rechercheraient activement des moyens de tirer le meilleur parti des opportunités offertes par les PWA.
Commençons par l'installation de Magento 2.3 avec PWA
1. Entrez la commande suivante dans DIR / var / www / html / (m203 est mon répertoire Magento 2.3):
composer create-project --repository=https://repo.magento.com/ magento/project-community-edition=2.3.* --stability=beta m203
2. Installez Magento en ligne de commande:
bin/magento setup:install --base-url=http://localhost/m230 --db-host=localhost --db-name=m230 --db-user=root --db-password=root --backend-frontname=admin --admin-firstname=admin --admin-lastname=admin --admin-email=admin@admin.com --admin-user=admin --admin-paassword=admin123 --language=en_US --currency=USD --timezone=America/Chicago --use-rewrites=1
3. Créez le thème de base pwa qui sera leur parent pour le thème PWA Venia.
4. Créez un répertoire app/design/frontend/Magento/pwa
et copiez tous les fichiers et répertoires du thème de base ici.
Permet de vérifier le thème de base est disponible ou non.
Run: php bin/magento setup:upgrade
5. Téléchargez le projet de studio PWA.
6. Naviguez jusqu'au répertoire racine de votre installation Magento et créez un dossier de liens symboliques Pwa vers le répertoire de modules du projet (pwa-studio / packages / pwa-module).
à partir de ce répertoire, j'ai exécuté ma commande - / var / www / html / m230
C’est un répertoire où ma source téléchargée sur pwa est / var / www / html / PWA /
ln -s /var/www/html/PWA/pwa-studio-master/packages/pwa-module app/code/Magento/Pwa
7. Liez également le répertoire de thèmes. Naviguez vers le répertoire racine de votre installation Magento et créez un dossier de liens symboliques Pwa vers le répertoire de modules du projet (pwa-studio / packages / venia-concept).
ln -s /var/www/html/PWA/pwa-studio-master/packages/venia-concept app/design/frontend/Magento/venia
8. Accédez maintenant au répertoire venia-concept de votre projet pwa-studio, copiez-le .env.dist
dans un nouveau .env
fichier et mettez à jour les variables avec l'URL de votre magasin de développement Magento.
cd /var/www/html/PWA/pwa-studio-master/packages/venia-concept
cp .env.dist .env
9. Installez le thème venia et le module Pwa:
run: php bin/magento setup:upgrade
nous pouvons voir que le thème de venia est installé avec succès.
10. Configurez le thème venia à partir de admin->Content->Configuration
11. Accédez à path ( /var/www/html/PWA/pwa-studio-master
) run:
npm install
ou
npm install webpack-dev-server -g
12. Et enfin, accédez à /var/www/html/PWA/pwa-studio-master/packages/venia-concept
npm start
Toutes nos félicitations! Vous avez configuré votre environnement de développement pour le projet thématique Venia.
PWA - Application Web progressive est l’application généralement Web qui permet aux utilisateurs de profiter du Web enrichi. au moyen de:
"Qu'est-ce que cela signifie que Magento est en train de devenir une plate-forme Web progressive?"
Alors que magento se prépare pour la version 2.3, il inclut cette fonctionnalité "PWA" pour rendre l'interface plus efficace, de manière à permettre une interaction de l'utilisateur.
Quel est le problème avec les API REST et les PWA?
Comme magento utilise "PWA", il ajoute également "GraphQL API" pour fournir une alternative api de développement front-end de "REST / SOAP" en tant qu'api "GraphQL".
Pour en savoir plus sur le "PWA" et la nouvelle fonctionnalité de "magento2.3 open-commerce", visitez la page officielle de ce magento .
If you run a REST call such as GET /V1/products/:sku on a simple product, the system might fetch more than 100 lines of data. If all you need is the current price, the call has returned significantly more information than you need. With GraphQL, a query against the same SKU could return just the price.
Progressif signifie que l'application se charge avec toutes les données et ressources pertinentes, lorsqu'un utilisateur navigue sur votre site Web. Il en résulte une expérience utilisateur final avec une vitesse, une convivialité, un fonctionnement hors ligne et une intégration de périphériques améliorés.
Web signifie qu'il est écrit dans les langages du Web (HTML, CSS, JavaScript). Cela vous permet de créer un site offrant davantage de fonctionnalités similaires à une application sans créer une application native limitée à une plate-forme, telle qu'iOS ou Android.
Application signifie qu'il installe et exécute le code sur le périphérique ou l'ordinateur de l'acheteur. Cela crée plus de vitesse et de capacité que les applications JavaScript à page unique du passé.
Les PWA sont essentiellement un hybride de pages Web classiques et d'une application mobile, permettant des expériences similaires à celles d'une application mobile pour le Web.
Magento est en train de devenir une plate-forme Web progressive. C’est-à-dire que Magento est en train de créer une suite d’outils permettant de créer des boutiques en ligne sous forme d’applications Web progressives. Ces outils aideront les développeurs à apprendre les techniques PWA, à créer des interfaces frontales PWA ultra-rapides et à créer des composants et des extensions PWA à réutiliser ou à vendre sur le marché Magento. Pris ensemble, Magento appelle cette suite d'outils le Magento PWA Studio.
Vous pouvez vérifier la structure du code à l' adresse https://github.com/magento-research/pwa-studio.
Magento PWA utilise GraphQL comme alternative à l’API REST pour PWA.
Pour plus de détails sur Magento PWA, vous pouvez consulter les liens suivants:
Les PWA offrent des expériences rapides, sans friction et similaires à celles d'une application, générant plus de trafic, des conversions plus élevées et des temps de chargement de page plus rapides pour les marchands Magento
De manière générale, Magento est en train de transformer son apparence pour augmenter le nombre de conversions. En savoir plus à ce sujet ici .
Les PWA sont généralement construits avec JavaScript, CSS et HTML et offrent un niveau de performances et de convivialité presque identique à celui des applications natives. Les PVA présentent des particularités, notamment:
Pour répondre à une partie seulement de votre question mais plus spécifiquement à Magento 2.
PWA sera plus facile à construire grâce à la future version de Magento 2.3.
https://www.degdigital.com/insights/magento-2-3/
Cité de cet article:
PWA
Une application Web progressive est une application conçue pour tirer parti des fonctionnalités technologiques modernes qui évoluent «progressivement» sur les appareils où ces fonctionnalités ne sont pas disponibles. Il permet également la mise en cache des données afin que le site Web puisse être utilisé (partiellement ou totalement) en mode hors connexion lorsque le service Internet est inégal ou inexistant. Ceci est généralement accompli en écrivant la partie frontale du site Web avec un framework / stack JavaScript moderne qui est distinctement distinct de l'application dorsale. Cette application JavaScript peut utiliser les nouvelles fonctionnalités du navigateur (ish) pour accomplir la tâche susmentionnée.
Magento reconnaît les nombreux avantages que cela présente et a annoncé fin 2017 ses efforts pour créer ce qu'il appelle le studio PWA. PWA Studio contiendra des outils pour développer et déployer un PWA pour le front-end de Magento. Avec PWA Studio viendra un site de démonstration léger (pas complet). Les avantages immédiats seront une augmentation importante des performances frontales et une multiplication par 10 de la vitesse d'intégration des nouveaux développeurs frontaux Magento.
GraphQL
GraphQL est un langage de requête permettant d’utiliser des API. Avec la montée en puissance de la PWA, il est nécessaire d’obtenir de plus petites quantités de données et de faire moins de demandes d’API. Le langage de requête de GraphQL rend cela possible en permettant au demandeur de demander le renvoi d’un sous-ensemble limité d’attributs relatifs à une entité (réponses nettement plus réduites) et en vous permettant de chaîner des demandes (nombre de requêtes plus petit).
Magento prend actuellement en charge les requêtes d'API REST et SOAP qui utilisent des contrats de service. Toutefois, pour prendre en charge GraphQL, Magento est en train d’écrire une toute nouvelle couche, directement reliée à l’API Query. L'implémentation de GraphQL sera la base sur laquelle une interface PWA récupérera les données dont elle a besoin.
Progressive Web Application utilise les fonctionnalités du navigateur Web et fournit aux utilisateurs une expérience similaire à celle d'une application mobile.
Il se développe à partir d'un onglet de navigateur et rend les pages plus immersives avec une expérience utilisateur à faible friction. Il s’agit d’une technologie Web permettant de créer un site Web qui agit et se comporte comme une application.
Un utilisateur peut lancer une application Web progressive identique à une application native, quel que soit le navigateur choisi.
Pour les tests de démonstration, vous pouvez visiter sur ce lien: Cliquez ici
C'est un produit google lancé pendant I / O 2017 I / O 2017: https://www.youtube.com/watch?time_continue=14&v=cmGr0RszHc8
C'est un site web basé sur HTML.
Il stocke le cache dans un appareil afin que vous puissiez également l'utiliser hors connexion.
Cependant, la première fois, c'est lent, ce qui sera le cas lors de la deuxième visite.
Il est mis à jour lorsque l'appareil est connecté à Internet, vous n'avez donc pas besoin de mettre à jour de nouvelles fonctionnalités telles que les applications.
Tous les e-mails sur le serveur sont déclenchés lorsque l'appareil se connecte à Internet si quelqu'un publie quelque chose hors connexion.
Finalement, pas besoin de construire une application iPhone / Android.
Limitation Il ne supporte que les fichiers HTML. Donc, l'appareil devrait prendre en charge HTML.
There is no store to search PWA application.
Login with FB or else will not be worked.
Not supported in IE.
Configurer PWA (Linux OS)
Étape 1: Installez magento 2.3.1
Étape 2: Installer / mettre à niveau le noeud
Utilisez n module de npm afin de mettre à jour le noeud
sudo npm install n -g
Pour la dernière version stable:
sudo n stable
Pour la dernière version:
sudo n latest
Étape 3: Installez / mettez à jour le fil:
sudo npm install --global yarn
sudo npm upgrade --global yarn
Étape 4: Installation de node-gyp - Outil de création d'addon natif Node.js
sudo npm install -g node-gyp
Étape 5: clonez le référentiel PWA Studio
Allez à la racine html et exécutez:
git clone https://github.com/magento-research/pwa-studio.git
Après avoir exécuté ceci, vous obtiendrez le dossier pwa-studio.
Étape 6: Installez les dépendances de PWA Studio
sudo yarn install
Étape 7: Spécifiez le serveur principal Magento
Under the packages/venia-concept directory, copy .env.dist into a new .env file:
Exemple de commande:
sudo cp packages/venia-concept/.env.dist packages/venia-concept/.env
changez le fichier .env (ce sera votre URL magento, pas l'adresse URL de l'administrateur):
MAGENTO_BACKEND_URL="https://release-dev-231-npzdaky-zddsyhrdimyra.us-4.magentosite.cloud/"
Étape 8: Créez maintenant une construction
sudo yarn run build
Étape 9: Exécuter le serveur
sudo yarn run watch:venia
Démarre uniquement l'environnement de développement de la devanture de magasin Venia.
sudo yarn run watch:all
Exécute l'expérience complète du développeur PWA Studio, qui comprend le rechargement à chaud Venia et les reconstructions simultanées Buildpack / Peregrine.
sudo yarn run build && yarn run stage:venia
Génère des artefacts de construction et exécute l'environnement de transfert, qui utilise davantage d'actifs compressés et reflète plus fidèlement la production.
Une fois que vous exécutez l’une des commandes ci-dessus, vous obtiendrez l’url virtuelle créée par PWA.
REMARQUE: si vous êtes un utilisateur averti, utilisez sudo.
Suivez les documents de développement officiels de Magento 2: