- 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?
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 [email protected] --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:
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.
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 .
quelle
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:
quelle
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:
Sie können hier mehr lesen.
quelle
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:
quelle
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
quelle
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.
quelle
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
Für die neueste stabile Version:
Für die neueste Version:
Schritt 3: Garn installieren / aktualisieren:
Schritt 4: Installieren Sie node-gyp - das native Addon-Build-Tool von Node.j.
Schritt 5: Klonen Sie das PWA Studio-Repository
Gehen Sie zum HTML-Stammverzeichnis und führen Sie Folgendes aus:
Nachdem Sie dies ausgeführt haben, erhalten Sie den Ordner pwa-studio
Schritt 6: Installieren Sie die PWA Studio-Abhängigkeiten
Schritt 7: Geben Sie den Magento-Backend-Server an
Beispielbefehl:
ändere die .env Datei (dies wird deine Magento URL sein, nicht die Admin URL):
Schritt 8: Erstellen Sie nun einen Build
Schritt 9: Führen Sie den Server aus
Startet nur die Venia-Storefront-Entwicklungsumgebung.
Führt die gesamte PWA Studio-Entwicklererfahrung aus, einschließlich Venia-Hot-Reload und gleichzeitiger Buildpack- / Peregrine-Neuerstellungen.
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:
https://devdocs.magento.com/guides/v2.3/pwa/
quelle