- Was bedeutet es, dass Magento eine progressive Webanwendungsplattform wird?
- Wie wird die Codestruktur von PWAs in Magento aussehen?
- Was ist mit REST-APIs und PWAs zu tun?
Antworten:
Was sind progressive Web-Apps?
Warum PWA?
Diese Antwort behandelt auch - Installation von Magento 2.3 mit PWA
Nehmen wir ein Beispiel für Flipkart
Flipkart , Indiens größte E-Commerce-Website, hat beschlossen, ihre Webpräsenz und native App in einer progressiven Webanwendung zu kombinieren, was zu einer Steigerung der Conversions um 70% geführt hat
Ansatz
Neue progressive Web-App hilft Flipkart, die Conversions um 70% zu steigern
Flipkart funktioniert auch im Offline-Modus
NetworkFirst
, CacheFirst
oder ermöglicht NetworkOnly
.
SW-Toolbox
Bietet einen LRU
Cache, der in der Flipkart-App zum Speichern früherer Suchergebnisse auf der Suchseite und den zuletzt besuchten Produktseiten verwendet wird.TTL-based
Cache , mit dem veraltete Inhalte gelöscht werden. Servicemitarbeiter stellen einfache skriptfähige Grundelemente bereit, die dies ermöglichen.ABER, ABER, ABER...
Was ist das Magento PWA Studio?
Das Magento PWA Studio-Projekt bietet die folgenden Tools:
pwa-buildpack -
Buildpack ist eine Reihe von Webpack
Plugins und Tools, die für die Entwicklung von Magento PWA-Themen verwendet werden.
Es wird auch zum Einrichten und Konfigurieren der lokalen Entwicklungsumgebung für die Magento 2-Plattform verwendet.
Es enthält die folgenden Tools:
Peregrine - Peregrine ist eine Reihe vonReact components
Funktionenrouting
, diespeziell für Magento entwickelt wurden, z. B.root-components
Layout-Handler, Produktlisten, Preisanzeige usw.
Venia Theme -venia-concept
ist ein Demo-Theme, das von Magento mit dem Magento PWA Studio erstellt wurde. Es zeigt alle derzeit verfügbaren Funktionen, Arbeitsabläufe und Seiten
PWA Studio ist NICHT
Eine neue Version von Magento
Ein Ersatz für alle Front-End
Eine Desktop-Anwendung
Tools und Bibliotheken, die in PWA Studios verwendet werden
login.html
, shell-1234.js
,3456.js
Shell + Router + content
Page Shell
Die Gesamtgröße ist größer (dh der Dashboard-Inhalt befindet sich in dashboard-1234.js und 4567.js)
Es dauert länger, bis die App offline ist.
Anfangslast fordert nur zwei Dateien: login.html
,login-2345.js
Das anfängliche Laden muss Folgendes laden: Shell + content
Das shell + content
ist früher sichtbar als mit App Shell Ansatz.
Ein hybrider Ansatz kann verwendet werden, bei dem Shell und Inhalt in zwei Anforderungen getrennt sind (siehe Admin-Seite als Beispiel). Dies ist sinnvoll, wenn der Inhalt viel größer ist als die Shell und die Shell früher sichtbar sein soll.
GraphQL in Magento
Authentifizierung und Schema
Reduzierung der Anzahl von Front-End-Abfragen
Phase rendern
Kompatibilität mit dem Desktop-Browser
Kompatibilität mit mobilen Browsern
Nicht unterstützt : Android Webview, IE, Safari
PWAs sind sicherer
https
anstatt HTTP
. Cyber-Bedrohungen stehen für Web- und App-Entwickler immer an erster Stelle.HTTP
war nicht sicher genug, um Benutzerinformationen zu schützen.HTTPs
und es ist einfach, eine Progressive Web App in einer sicheren Umgebung zu starten.PWA - Offline-Modus
Die Offline-Wikipedia-Anwendung ist ein gutes Beispiel für eine PWA , die ein App-Shell-Modell verwendet .
Progressive Web App ist ohne Zweifel die Zukunft der Webentwicklung. In Zukunft werden E-Commerce-Websites, Restaurants und Medienquellen von der nativen App zur progressiven Web-App übergehen. In der Anfangsphase würden jedoch viele Entwickler aktiv nach Möglichkeiten suchen, um die von PWAs gebotenen Möglichkeiten optimal zu nutzen.
Beginnen wir mit der Installation von Magento 2.3 mit PWA
1. Geben Sie den folgenden Befehl in DIR / var / www / html / ein (m203 ist mein Magento 2.3-Verzeichnis):
composer create-project --repository=https://repo.magento.com/ magento/project-community-edition=2.3.* --stability=beta m203
2. Installieren Sie Magento über die Befehlszeile:
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. Erstellen Sie ein Basis-PWA-Thema, das das übergeordnete Thema für das PWA-Venia-Thema ist.
4. Erstellen Sie ein Verzeichnis app/design/frontend/Magento/pwa
und kopieren Sie hier alle Dateien und Verzeichnisse des Basisthemas.
Lässt überprüfen, ob das Basisthema verfügbar ist oder nicht.
Run: php bin/magento setup:upgrade
Und navigieren Sie zu Ihrem Magento Admin-> Content-> Themes
5. Laden Sie das PWA Studio-Projekt herunter.
6. Navigieren Sie zum Stammverzeichnis Ihrer Magento-Installation und erstellen Sie einen Pwa-Symlink-Ordner, der mit dem Modulverzeichnis des Projekts (pwa-studio / packages / pwa-module) verknüpft ist.
Von diesem Verzeichnis aus habe ich meinen Befehl ausgeführt - / var / www / html / m230
Dies ist ein Verzeichnis, in dem meine heruntergeladene pwa-Quelle / var / www / html / PWA / ist.
ln -s /var/www/html/PWA/pwa-studio-master/packages/pwa-module app/code/Magento/Pwa
7. Verknüpfen Sie auch das Themenverzeichnis. Navigieren Sie zum Stammverzeichnis Ihrer Magento-Installation und erstellen Sie einen Pwa-Symlink-Ordner, der mit dem Modulverzeichnis des Projekts verknüpft ist (pwa-studio / packages / venia-concept).
ln -s /var/www/html/PWA/pwa-studio-master/packages/venia-concept app/design/frontend/Magento/venia
8. Navigieren Sie nun zum venia-concept-Verzeichnis Ihres pwa-studio-Projekts, kopieren Sie es .env.dist
in eine neue .env
Datei und aktualisieren Sie die Variablen mit der URL zu Ihrem Magento-Entwicklungsspeicher.
cd /var/www/html/PWA/pwa-studio-master/packages/venia-concept
cp .env.dist .env
9. Installiere venia theme und Pwa Module:
run: php bin/magento setup:upgrade
Wir können sehen, dass das venia-Theme erfolgreich installiert wurde.
10. Konfigurieren Sie venia theme von admin->Content->Configuration
11. Navigieren Sie zu path ( /var/www/html/PWA/pwa-studio-master
) run:
npm install
oder
npm install webpack-dev-server -g
12. Und schließlich navigieren Sie zu /var/www/html/PWA/pwa-studio-master/packages/venia-concept
npm start
Herzliche Glückwünsche! Sie haben Ihre Entwicklungsumgebung für das Venia-Themenprojekt eingerichtet.
PWA - Progressive Web Application ist im Allgemeinen eine Webanwendung, bei der der Benutzer das Rich Web erlebt. im weg von:
"Was bedeutet es, dass Magento eine progressive Webanwendungsplattform wird?"
Während sich magento auf die Veröffentlichung der Version 2.3 vorbereitet, enthält es diese "PWA" -Funktion, um das Frontend auf eine Art und Weise der Benutzerinteraktion effizienter zu gestalten.
Was ist mit REST-APIs und PWAs zu tun?
Da Magento "PWA" verwendet, fügt es auch "GraphQL API" hinzu, um eine Front-End-API-Alternative für die Entwicklung von "REST / SOAP" als "GraphQL" -API bereitzustellen.
Um mehr über die "PWA" und die neue Funktion von "magento2.3 open-commerce" zu erfahren, können Sie die offizielle Seite dieses Magento besuchen .
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.
Progressiv bedeutet, dass die Anwendung zusammen mit allen relevanten Daten und Assets geladen wird, wenn ein Benutzer auf Ihrer Website navigiert. Dies führt zu einer Endbenutzererfahrung mit höherer Geschwindigkeit, Benutzerfreundlichkeit, Offline-Betrieb und Geräteintegration.
Web bedeutet, dass es in den Sprachen des Webs geschrieben ist (HTML, CSS, JavaScript). Auf diese Weise können Sie eine Site erstellen, die mehr App-ähnliche Funktionen bietet, ohne eine native App zu erstellen, die auf eine Plattform wie iOS oder Android beschränkt ist.
Anwendung bedeutet, dass Code auf dem Gerät oder Computer des Käufers installiert und ausgeführt wird. Dies führt zu mehr Geschwindigkeit und Leistungsfähigkeit als die einstigen einseitigen JavaScript-Apps.
PWAs sind im Wesentlichen eine Mischung aus regulären Webseiten und der mobilen App, wodurch mobile App-ähnliche Erlebnisse für das Web ermöglicht werden.
Magento wird zu einer progressiven Webanwendungsplattform. Das heißt, Magento erstellt eine Reihe von Tools zum Erstellen von Online-Shops als progressive Webanwendungen. Diese Tools helfen Entwicklern dabei, PWA-Techniken zu erlernen, blitzschnelle PWA-Frontends zu erstellen und PWA-Komponenten und -Erweiterungen für die Wiederverwendung oder den Verkauf auf dem Magento Marketplace zu erstellen. Insgesamt nennt Magento diese Tool-Suite Magento PWA Studio.
Sie können die Codestruktur unter https://github.com/magento-research/pwa-studio überprüfen
Magento PWA verwendet GraphQL als Alternative zur REST-API für PWA.
Weitere Informationen zu Magento PWA erhalten Sie über die folgenden Links:
PWAs bieten schnelle, reibungslose, "App-ähnliche" Erlebnisse, die mehr Verkehr, höhere Conversions und schnellere Ladezeiten für Magento-Händler ermöglichen
Im Allgemeinen ändert Magento das Erscheinungsbild, um die Conversions zu steigern. Lesen Sie hier mehr darüber .
PWAs werden in der Regel mit JavaScript, CSS und HTML erstellt und weisen eine Leistung und Benutzerfreundlichkeit auf, die mit nativen Apps nahezu identisch ist. PWAs haben Besonderheiten, einschließlich:
Um nur einen Teil Ihrer Frage zu beantworten, aber mehr Magento 2 spezifisch.
PWA wird dank der zukünftigen Magento 2.3-Version einfacher zu erstellen sein.
https://www.degdigital.com/insights/magento-2-3/
Zitiert aus diesem Artikel:
PWA
Eine Progressive Web App ist eine Anwendung, die die Vorteile moderner Technologiefunktionen nutzt, die sich auf Geräten, auf denen diese Funktionen nicht verfügbar sind, „progressiv“ reduzieren lassen. Es ermöglicht auch das Zwischenspeichern von Daten, sodass die Website (teilweise oder vollständig) im Offlinemodus verwendet werden kann, wenn der Internetdienst nicht verfügbar oder nicht vorhanden ist. Dies wird im Allgemeinen erreicht, indem das Front-End der Website mit einem modernen JavaScript-Framework / Stack geschrieben wird, das sich deutlich von der Back-End-Anwendung unterscheidet. Diese JavaScript-Anwendung kann neue (ish) Browserfunktionen verwenden, um die oben genannte Aufgabe zu erfüllen.
Magento erkennt die vielfältigen Vorteile an und kündigte Ende 2017 seine Bemühungen an, das so genannte PWA Studio aufzubauen. PWA Studio enthält Tools zum Entwickeln und Bereitstellen einer PWA für das Front-End von Magento. Zusammen mit PWA Studio wird eine leichtgewichtige (nicht funktionsreiche) Demo-Site erscheinen. Die unmittelbaren Vorteile sind eine deutliche Steigerung der Front-End-Leistung und eine nahezu 10-fache Beschleunigung der Integration neuer Magento-Front-End-Entwickler.
GraphQL
GraphQL ist eine Abfragesprache für die Verwendung von APIs. Mit dem Aufstieg der PWA müssen kleinere Datenmengen abgerufen und weniger API-Anforderungen gestellt werden. Die Abfragesprache von GraphQL ermöglicht es dem Anforderer, eine begrenzte Teilmenge von Attributen anzufordern, die über eine Entität zurückgegeben werden sollen (deutlich kleinere Antworten), und ermöglicht es Ihnen, Anforderungen zu verketten (geringere Anzahl von Anforderungen).
Magento unterstützt derzeit REST- und SOAP-API-Anforderungen, die Serviceverträge verwenden. Zur Unterstützung von GraphQL schreibt Magento jedoch eine völlig neue Ebene, die direkt mit der Abfrage-API verbunden ist. Die GraphQL-Implementierung ist die Grundlage dafür, wie ein PWA-Frontend die benötigten Daten abruft.
Progressive Web Application verwendet Webbrowser-Funktionen und bietet den Benutzern eine mobile App-ähnliche Erfahrung.
Es entwickelt sich aus einer Browser-Registerkarte und macht Seiten mit einer reibungslosen Benutzererfahrung immersiver. Es ist eine Web-Technologie zur Erstellung einer Website, die sich wie eine Anwendung anfühlt.
Ein Benutzer kann Progressive Web Application wie eine native Anwendung unabhängig von der Auswahl des Browsers starten.
Für Demotests können Sie auf diesen Link zugreifen : Klicken Sie hier
Es handelt sich um ein Google-Produkt, das während des I / O 2017 I / O 2017 eingeführt wurde: https://www.youtube.com/watch?time_continue=14&v=cmGr0RszHc8
Es ist eine Website, die auf HTML basiert.
Es speichert den Cache in einem Gerät, sodass es auch offline verwendet werden kann.
Beim ersten Mal ist es jedoch langsam, was beim zweiten Besuch der Fall sein wird.
Es wird aktualisiert, wenn das Gerät das Internet erhält. Sie müssen also keine neuen Funktionen wie APPs aktualisieren.
Es löst alle E-Mails an den Server aus, wenn das Gerät das Internet erhält, wenn jemand etwas offline veröffentlicht.
Irgendwann muss keine iPhone / Android App mehr gebaut werden.
Einschränkung Es werden nur HTML-Dateien unterstützt. Das Gerät sollte also HTML unterstützen.
There is no store to search PWA application.
Login with FB or else will not be worked.
Not supported in IE.
Setup PWA (Linux Betriebssystem)
Schritt 1: Installieren Sie magento 2.3.1
Schritt 2: Knoten installieren / aktualisieren
Verwenden Sie das n-Modul von npm, um den Knoten zu aktualisieren
sudo npm install n -g
Für die neueste stabile Version:
sudo n stable
Für die neueste Version:
sudo n latest
Schritt 3: Garn installieren / aktualisieren:
sudo npm install --global yarn
sudo npm upgrade --global yarn
Schritt 4: Installieren Sie node-gyp - das native Addon-Build-Tool von Node.j.
sudo npm install -g node-gyp
Schritt 5: Klonen Sie das PWA Studio-Repository
Gehen Sie zum HTML-Stammverzeichnis und führen Sie Folgendes aus:
git clone https://github.com/magento-research/pwa-studio.git
Nachdem Sie dies ausgeführt haben, erhalten Sie den Ordner pwa-studio
Schritt 6: Installieren Sie die PWA Studio-Abhängigkeiten
sudo yarn install
Schritt 7: Geben Sie den Magento-Backend-Server an
Under the packages/venia-concept directory, copy .env.dist into a new .env file:
Beispielbefehl:
sudo cp packages/venia-concept/.env.dist packages/venia-concept/.env
ändere die .env Datei (dies wird deine Magento URL sein, nicht die Admin URL):
MAGENTO_BACKEND_URL="https://release-dev-231-npzdaky-zddsyhrdimyra.us-4.magentosite.cloud/"
Schritt 8: Erstellen Sie nun einen Build
sudo yarn run build
Schritt 9: Führen Sie den Server aus
sudo yarn run watch:venia
Startet nur die Venia-Storefront-Entwicklungsumgebung.
sudo yarn run watch:all
Führt die gesamte PWA Studio-Entwicklererfahrung aus, einschließlich Venia-Hot-Reload und gleichzeitiger Buildpack- / Peregrine-Neuerstellungen.
sudo yarn run build && yarn run stage:venia
Erzeugt Build-Artefakte und führt die Staging-Umgebung aus, die komprimiertere Assets verwendet und die Produktion genauer widerspiegelt.
Sobald Sie einen der oben genannten Befehle ausführen, erhalten Sie die von PWA erstellte virtuelle URL.
HINWEIS: Wenn Sie ein guter Benutzer sind, verwenden Sie sudo.
Folgen Sie den offiziellen Magento 2-Entwicklerdokumenten: