- Что это значит, что Magento становится платформой для прогрессивных веб-приложений?
- Какова будет структура кода PWA в Magento?
- Как обстоят дела с REST API и PWA?
Что такое прогрессивные веб-приложения?
Почему PWA?
Этот ответ также охватывает - Установка Magento 2.3 с PWA
Давайте возьмем пример флипкарта
Flipkart , крупнейший в Индии сайт электронной коммерции, решил объединить свое веб-присутствие и нативное приложение в прогрессивное веб-приложение, что привело к увеличению конверсии на 70%.
Подходить
Новое прогрессивное веб-приложение помогает Flipkart повысить конверсию на 70%
Флипкарт также работает в автономном режиме
NetworkFirst
, CacheFirst
или NetworkOnly
.
SW-Toolbox
предоставляет LRU
кэш, используемый в приложении Flipkart для хранения предыдущих результатов поиска на странице просмотра и нескольких последних посещенных страницах продукта.TTL-based
кэша, который мы используем для очистки устаревшего контента. Сервисные работники предоставляют низкоуровневые скриптовые примитивы, которые делают это возможным.НО НО НО...
Что такое Magento PWA Studio?
Проект Magento PWA Studio предоставляет следующие инструменты:
pwa-buildpack -
Buildpack - это набор Webpack
плагинов и инструментов, который используется для разработки тем Magento PWA.
Он также используется для настройки и настройки локальной среды разработки для платформы Magento 2.
Он содержит следующие инструменты:
Peregrine - Peregrine - это набор,React components
созданный для обработки специфических для Magento функций, таких какrouting
,root-components
обработчик макетов, списки продуктов, отображение цен и т. Д.
Тема Venia -venia-concept
это демонстрационная тема, созданная Magento с использованием студии Magento PWA. Он демонстрирует все доступные в настоящее время функциональные возможности, рабочий процесс и страницы
PWA Studio НЕ является
Новый выпуск Magento
Замена всех переднего конца
Настольное приложение
Инструменты и библиотеки, используемые в PWA Studios
login.html
, shell-1234.js
,3456.js
Shell + Router + content
Оболочка страницы
Общий размер больше (т.е. содержимое панели мониторинга находится в dashboard-1234.js и 4567.js)
Приложение занимает больше времени, чтобы быть готовым к работе.
Начальная нагрузка требует только два файла: login.html
,login-2345.js
Начальная загрузка должна загрузить: Shell + content
Это shell + content
видно раньше, чем при использовании App Shell.
Можно использовать гибридный подход, когда оболочка и контент разделяются в двух запросах (см. Страницу администратора в качестве примера). Это имеет смысл, когда содержимое намного больше, чем оболочка, а оболочка должна быть видна раньше.
GraphQL в Magento
Аутентификация и схема
Сокращение количества интерфейсных запросов
Фаза рендеринга
Совместимость с настольным браузером
Совместимость с мобильными браузерами
Не поддерживается : Android Webview, IE, Safari
PWA более безопасны
https
вместо HTTP
. Киберугрозы всегда находятся на первом месте в списке разработчиков веб-приложений и приложений.HTTP
не было достаточно безопасно, чтобы защитить информацию пользователей.HTTPs
и легко запустить Progressive Web App в безопасной среде.PWA - автономный режим
автономное приложение Wikipedia является хорошим примером PWA, который использует модель оболочки приложения .
Progressive Web App - это будущее веб-разработки без каких-либо сомнений. В будущем сайты электронной коммерции, рестораны и медиаресурсы перейдут с нативного приложения на Progressive Web App. Тем не менее, еще на начальном этапе многие разработчики будут активно искать способы максимально использовать возможности, предоставляемые PWA.
Начнем с установки Magento 2.3 с PWA
1. Введите следующую команду в DIR / var / www / html / (m203 - это мой каталог Magento 2.3):
composer create-project --repository=https://repo.magento.com/ magento/project-community-edition=2.3.* --stability=beta m203
2. Установите Magento из командной строки:
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. Создайте базовую тему pwa, которая будет родительской для темы PWA Venia.
4. Создайте каталог app/design/frontend/Magento/pwa
и скопируйте все файлы и каталоги базовой темы здесь.
Давайте проверим, доступна ли базовая тема или нет.
Run: php bin/magento setup:upgrade
5. Скачать проект студии PWA.
6. Перейдите в корневой каталог установки Magento и создайте папку символической ссылки Pwa, ссылающуюся на каталог модуля проекта (pwa-studio / packages / pwa-module).
из этого каталога я запустил свою команду - / var / www / html / m230
Это каталог, где мой загруженный исходный код pwa - / var / www / html / PWA /
ln -s /var/www/html/PWA/pwa-studio-master/packages/pwa-module app/code/Magento/Pwa
7. Также свяжите каталог с темой. Перейдите к корневому каталогу вашей установки Magento и создайте папку символической ссылки Pwa, ссылающуюся на каталог модуля проекта (pwa-studio / packages / venia-concept).
ln -s /var/www/html/PWA/pwa-studio-master/packages/venia-concept app/design/frontend/Magento/venia
8. Теперь перейдите в каталог venia-concept проекта вашего pwa-studio, скопируйте .env.dist
в новый .env
файл и обновите переменные с помощью URL-адреса вашего магазина разработки Magento.
cd /var/www/html/PWA/pwa-studio-master/packages/venia-concept
cp .env.dist .env
9. Установите тему Venia и модуль Pwa:
run: php bin/magento setup:upgrade
мы видим, что тема Venia успешно установлена.
10. Настройте тему вены из admin->Content->Configuration
11. Перейдите к пути ( /var/www/html/PWA/pwa-studio-master
) и выполните:
npm install
или
npm install webpack-dev-server -g
12. И, наконец, перейдите к /var/www/html/PWA/pwa-studio-master/packages/venia-concept
npm start
Поздравляем! Вы настроили среду разработки для тематического проекта Venia.
PWA - Прогрессивное веб-приложение - это, как правило, веб-приложение, предназначенное для пользователей, обладающих широкими возможностями. в пути:
Поскольку magento готовится к выпуску версии 2.3, она включает в себя эту функцию «PWA», чтобы сделать интерфейс более эффективным, в плане взаимодействия с пользователем.
Так как magento использует «PWA», он также добавляет «API GraphQL» для обеспечения альтернативной стороны API интерфейса разработки «REST / SOAP» в качестве API «GraphQL».
Для получения более подробной информации о "PWA" и новой функции "magento2.3 open-commerce" вы можете посетить официальную страницу этого 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.
Прогрессивный означает, что приложение загружается вместе с любыми соответствующими данными и активами, когда пользователь перемещается по вашему веб-сайту. Это обеспечивает конечному пользователю более высокую скорость, удобство использования, автономную работу и интеграцию устройств.
Веб означает, что он написан на языках Интернета (HTML, CSS, JavaScript). Это позволяет вам создать сайт, который предоставляет больше функциональности, подобной приложению, без создания собственного приложения, ограниченного одной платформой, такой как iOS или Android.
Приложение означает, что оно устанавливает и запускает код на устройстве или компьютере покупателя. Это создает больше скорости и возможностей, чем одностраничные приложения JavaScript в прошлом.
По сути, PWA - это гибрид обычных веб-страниц и мобильного приложения, позволяющий создавать веб-приложения в стиле мобильных приложений.
Magento становится платформой для прогрессивных веб-приложений. То есть Magento создает набор инструментов для создания интернет-магазинов в качестве прогрессивных веб-приложений. Эти инструменты помогут разработчикам изучать методы PWA, создавать молниеносные интерфейсы PWA и создавать компоненты и расширения PWA для повторного использования или продажи на торговой площадке Magento. В совокупности Magento называет этот набор инструментов Magento PWA Studio.
Вы можете проверить структуру кода на https://github.com/magento-research/pwa-studio
Magento PWA использует GraphQL в качестве альтернативы REST API для PWA.
Для получения более подробной информации о Magento PWA, вы можете перейти по следующим ссылкам:
источник
Таким образом, в целом, Magento меняет свой внешний вид, чтобы увеличить конверсию. Подробнее об этом читайте здесь .
PWA обычно создаются с использованием JavaScript, CSS и HTML, которые имеют уровень производительности и удобства использования, который практически идентичен собственным приложениям. PWA имеют свои особенности, в том числе:
Вы можете прочитать больше здесь.
источник
Чтобы ответить только на часть вашего вопроса, но более конкретный Magento 2.
PWA будет легче построить благодаря будущему выпуску Magento 2.3.
https://www.degdigital.com/insights/magento-2-3/
Цитируется из этой статьи:
источник
Прогрессивное веб-приложение использует возможности веб-браузера и предоставляет пользователям мобильное приложение.
Он развивается из вкладки браузера и делает страницы более захватывающими с низким уровнем трения. Это веб-технология создания веб-сайта, который действует и ощущается как приложение.
Пользователь может запускать Progressive Web Application так же, как и собственное приложение, независимо от выбора браузера.
Для демонстрационного тестирования вы можете перейти по этой ссылке: Нажмите здесь
источник
Это продукт Google, запущенный во время I / O 2017 I / O 2017: https://www.youtube.com/watch?time_continue=14&v=cmGr0RszHc8
Это веб-сайт на основе HTML.
Он хранит кэш на устройстве, поэтому его можно использовать и в автономном режиме.
Тем не менее, в первый раз это медленно, который будет во время второго визита.
Оно обновляется, когда устройство подключается к Интернету, поэтому не нужно обновлять новые приложения, такие как приложения.
Он запускает все электронные письма на сервер, когда устройство получает Интернет, если кто-то публикует что-то в автономном режиме.
В конце концов, нет необходимости создавать приложения для iPhone / Android.
Ограничение Поддерживается только HTML-файл. Так что устройство должно поддерживать HTML.
источник
Настройка PWA (ОС Linux)
Шаг 1: Установите magento 2.3.1
Шаг 2: Установить / обновить узел
Используйте модуль n от npm для обновления узла
Для последней стабильной версии:
Для последней версии:
Шаг 3: Установите / обновите пряжу:
Шаг 4: Установите node-gyp - Node.js нативный инструмент для сборки аддонов
Шаг 5: клонировать репозиторий PWA Studio
Зайдите в html root и запустите:
После этого вы получите папку pwa-studio
Шаг 6: Установите зависимости PWA Studio
Шаг 7: Укажите внутренний сервер Magento
Пример команды:
измените файл .env (это будет ваш magento URL, а не админ URL):
Шаг 8: Теперь создайте сборку
Шаг 9: Запустите сервер
Запускает только среду разработки магазина Venia.
Работает с полным опытом разработчика PWA Studio, который включает горячую перезагрузку Venia и одновременное восстановление Buildpack / Peregrine.
Создает артефакты сборки и запускает промежуточную среду, которая использует более сжатые активы и более точно отражает производство.
Как только вы выполните одну из приведенных выше команд, вы получите виртуальный URL, созданный PWA.
ПРИМЕЧАНИЕ: если вы пользователь root, используйте sudo.
Следуйте официальным документам Dev Magento:
https://devdocs.magento.com/guides/v2.3/pwa/
источник