- ¿Qué significa que Magento se está convirtiendo en una plataforma de aplicación web progresiva?
- ¿Cuál será la estructura del código de PWAs en Magento?
- ¿Cuál es el trato con las API REST y PWAs?
Respuestas:
¿Qué son las aplicaciones web progresivas?
¿Por qué PWA?
Esta respuesta también cubre - Instalación de Magento 2.3 con PWA
Tomemos un ejemplo de Flipkart
Flipkart , el sitio de comercio electrónico más grande de la India, decidió combinar su presencia web y su aplicación nativa en una aplicación web progresiva que ha resultado en un aumento del 70% en las conversiones
Enfoque
La nueva aplicación web progresiva ayuda a Flipkart a aumentar las conversiones en un 70%
Flipkart también funciona en modo sin conexión
NetworkFirst
, CacheFirst
o NetworkOnly
.
SW-Toolbox
proporciona un LRU
caché utilizado en la aplicación Flipkart para almacenar resultados de búsqueda anteriores en la página de exploración y las últimas páginas visitadas de productos.TTL-based
caché que usamos para purgar el contenido desactualizado. Los trabajadores del servicio proporcionan primitivas de bajo nivel con secuencias de comandos que lo hacen posible.PERO PERO PERO...
¿Qué es el estudio Magento PWA?
El proyecto Magento PWA Studio proporciona las siguientes herramientas:
pwa-buildpack -
Buildpack es un conjunto de Webpack
complementos y herramientas que se utilizan para el desarrollo de temas de Magento PWA.
También se utiliza para configurar y configurar el entorno de desarrollo local para la plataforma Magento 2.
Contiene las siguientes herramientas:
Peregrine : Peregrine es un conjuntoReact components
creado para manejar funcionalidades específicas de Magento comorouting
,root-components
manejador de diseño, listas de productos, visualización de precios, etc.
Tema Venia :venia-concept
es un tema de demostración creado por Magento utilizando el estudio Magento PWA. Muestra todas las funcionalidades, flujos de trabajo y páginas disponibles actualmente.
PWA Studio NO es
Una nueva versión de Magento
Un reemplazo de todos los front-end
Una aplicación de escritorio
Herramientas y bibliotecas utilizadas en PWA Studios
login.html
, shell-1234.js
,3456.js
Shell + Router + content
Shell de página
El tamaño total es mayor (es decir, el contenido del panel está en dashboard-1234.js y 4567.js)
La aplicación tarda más en estar fuera de línea.
Carga inicial solicita sólo dos archivos: login.html
,login-2345.js
La carga inicial necesita cargar: Shell + content
El shell + content
es visible antes que con el enfoque de App Shell.
Se puede usar un enfoque híbrido donde el shell y el contenido se separan en dos solicitudes (consulte la página de administración como ejemplo). Esto tiene sentido cuando el contenido es mucho más grande que el shell y el shell debería ser visible antes.
GraphQL en Magento
Autenticación y Esquema
Reducción de la cantidad de consultas front-end
Procesamiento de fase
Compatibilidad del navegador de escritorio
Compatibilidad del navegador móvil
No compatible : Android Webview, IE, Safari
Los PWA son más seguros
https
lugar de HTTP
. Las amenazas cibernéticas siempre son las principales para los desarrolladores web y de aplicaciones.HTTP
no era lo suficientemente seguro como para proteger la información de los usuarios.HTTPs
y es fácil iniciar una aplicación web progresiva en un entorno seguro.PWA - Modo sin conexión
La aplicación de Wikipedia sin conexión es un buen ejemplo de una PWA que utiliza un modelo de shell de aplicación .
Progressive Web App es el futuro del desarrollo web sin ninguna duda. En el futuro, los sitios de comercio electrónico, restaurantes y fuentes de medios pasarán de la aplicación nativa a la aplicación web progresiva. Sin embargo, aún en la fase inicial, muchos de los desarrolladores buscarían activamente formas de aprovechar al máximo las oportunidades que brindan los PWA.
Comencemos con la instalación de Magento 2.3 con PWA
1. Ingrese el siguiente comando en DIR / var / www / html / (m203 es mi directorio de Magento 2.3):
composer create-project --repository=https://repo.magento.com/ magento/project-community-edition=2.3.* --stability=beta m203
2. Instale Magento por línea de comando:
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. Cree el tema base pwa que será el padre para el tema PWA Venia.
4. Cree un directorio app/design/frontend/Magento/pwa
y copie todos los archivos y directorios del tema base aquí.
Permite comprobar si el tema base está disponible o no.
Run: php bin/magento setup:upgrade
5. Descargue el proyecto de estudio PWA.
6. Navegue hasta el directorio raíz de su instalación de Magento y cree una carpeta de enlace simbólico Pwa que se vincule al directorio de módulos del proyecto (pwa-studio / packages / pwa-module).
desde este directorio ejecuté mi comando - / var / www / html / m230
Este es un directorio donde mi fuente descargada pwa es / var / www / html / PWA /
ln -s /var/www/html/PWA/pwa-studio-master/packages/pwa-module app/code/Magento/Pwa
7. Enlace el directorio del tema también. Navegue al directorio raíz de su instalación de Magento y cree una carpeta de enlaces simbólicos Pwa que se vincule al directorio del módulo del proyecto (pwa-studio / packages / venia-concept).
ln -s /var/www/html/PWA/pwa-studio-master/packages/venia-concept app/design/frontend/Magento/venia
8. Ahora navegue al directorio venia-concept de su proyecto pwa-studio, copie .env.dist
en un nuevo .env
archivo y actualice las variables con la URL a su tienda de desarrollo Magento.
cd /var/www/html/PWA/pwa-studio-master/packages/venia-concept
cp .env.dist .env
9. Instale el tema venia y el Módulo Pwa:
run: php bin/magento setup:upgrade
podemos ver que el tema venia se instaló con éxito.
10. Configure el tema de venia desde admin->Content->Configuration
11. Navegue a la ruta ( /var/www/html/PWA/pwa-studio-master
) ejecute:
npm install
o
npm install webpack-dev-server -g
12. Y finalmente navega a /var/www/html/PWA/pwa-studio-master/packages/venia-concept
npm start
¡Felicidades! Ha configurado su entorno de desarrollo para el proyecto temático Venia.
PWA - Progressive Web Application es la aplicación web en general que el usuario experimenta la rica web. en forma de:
"¿Qué significa que Magento se está convirtiendo en una plataforma de aplicación web progresiva?"
A medida que magento se está preparando para el lanzamiento de la versión 2.3, incluye esta función "PWA" para hacer que la interfaz sea más eficiente, en una forma de interacción del usuario.
¿Cuál es el trato con las API REST y PWAs?
Como magento está usando "PWA" también está agregando "GraphQL API" para proporcionar una alternativa de interfaz de usuario de desarrollo front-end de "REST / SOAP" como API de "GraphQL".
Para obtener más detalles sobre el "PWA" y la nueva característica de "magento2.3 open-commerce" , puede visitar la página oficial de este 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.
Progresivo significa que la aplicación se carga junto con los datos y activos relevantes, a medida que un usuario navega por su sitio web. Esto da como resultado una experiencia de usuario final con mejor velocidad, facilidad de uso, operación fuera de línea e integración de dispositivos.
Web significa que está escrito en los idiomas de la web (HTML, CSS, JavaScript). Esto le permite crear un sitio que brinde más funcionalidad similar a una aplicación sin crear una aplicación nativa restringida a una plataforma, como iOS o Android.
Aplicación significa que instala y ejecuta código en el dispositivo o computadora del comprador. Hacer esto crea más velocidad y capacidad que las aplicaciones JavaScript de una página del pasado.
Los PWA son esencialmente un híbrido de páginas web regulares y la aplicación móvil, lo que permite experiencias similares a las aplicaciones móviles para la web.
Magento se está convirtiendo en una plataforma de aplicación web progresiva. Es decir, Magento está haciendo un conjunto de herramientas para construir tiendas en línea como aplicaciones web progresivas. Estas herramientas ayudarán a los desarrolladores a aprender técnicas de PWA, construir frontales de PWA ultrarrápidos y crear componentes y extensiones de PWA para su reutilización o venta en Magento Marketplace. En conjunto, Magento llama a este conjunto de herramientas Magento PWA Studio.
Puede verificar la estructura del código en https://github.com/magento-research/pwa-studio
Magento PWA está utilizando GraphQL como una alternativa a REST API para PWA.
Para obtener más detalles sobre Magento PWA, puede visitar los siguientes enlaces:
Los PWA ofrecen experiencias rápidas, sin fricción, "tipo aplicación" que generan más tráfico, conversiones más altas y tiempos de carga de página más rápidos para los comerciantes de Magento
Por lo tanto, en general, Magento está transformando su apariencia para aumentar las conversiones. Lea más sobre esto aquí .
Los PWA generalmente se crean con JavaScript, CSS y HTML que tienen un nivel de rendimiento y usabilidad casi idéntico a las aplicaciones nativas. Los PWA tienen peculiaridades que incluyen:
Para responder solo una parte de su pregunta, pero más específicamente para Magento 2.
PWA será más fácil de construir gracias a la futura versión de Magento 2.3.
https://www.degdigital.com/insights/magento-2-3/
Citado de este artículo:
PWA
Una aplicación web progresiva es una aplicación creada para aprovechar las características de la tecnología moderna que "progresivamente" se reduce en dispositivos donde esas características no están disponibles. También permite el almacenamiento en caché de datos para que el sitio web se pueda utilizar (parcial o totalmente) en un modo fuera de línea cuando el servicio de Internet es irregular o inexistente. Esto generalmente se logra escribiendo el front-end del sitio web con un marco / pila de JavaScript moderno que está claramente separado de la aplicación de fondo. Esta aplicación de JavaScript puede usar nuevas funciones del navegador (ish) para realizar la tarea mencionada anteriormente.
Magento reconoce los múltiples beneficios de esto, y a fines de 2017 anunció sus esfuerzos para construir lo que llama PWA Studio. PWA Studio contendrá herramientas para desarrollar e implementar un PWA para el front-end de Magento. Junto con PWA Studio vendrá un sitio de demostración liviano (no lleno de funciones). Los beneficios inmediatos serán un aumento importante en el rendimiento de front-end y un aumento de casi 10 veces en la velocidad de incorporación de nuevos desarrolladores de front-end de Magento.
GraphQL
GraphQL es un lenguaje de consulta para usar API. Con el aumento de la PWA, es necesario obtener cantidades más pequeñas de datos y hacer menos solicitudes de API. El lenguaje de consulta de GraphQL hace esto posible al permitir que el solicitante solicite que se devuelva un subconjunto limitado de atributos sobre una entidad (respuestas significativamente más pequeñas) y le permite encadenar solicitudes (menor número de solicitudes).
Magento actualmente admite solicitudes REST y SOAP API que usan contratos de servicio. Sin embargo, para admitir GraphQL, Magento está escribiendo una capa completamente nueva que interactúa directamente con la API de consulta. La implementación de GraphQL será la base de cómo una interfaz PWA recuperará los datos que necesita.
La aplicación web progresiva utiliza las capacidades del navegador web y proporciona una aplicación móvil como experiencia para los usuarios.
Se desarrolla a partir de una pestaña del navegador y hace que las páginas sean más inmersivas con una experiencia de usuario de baja fricción. Es una tecnología web para crear un sitio web que actúa y se siente como una aplicación.
Un usuario puede iniciar la aplicación web progresiva igual que una aplicación nativa, independientemente de la elección del navegador.
Para pruebas de demostración, puede visitar este enlace: haga clic aquí
Es un producto de Google lanzado durante I / O 2017 I / O 2017: https://www.youtube.com/watch?time_continue=14&v=cmGr0RszHc8
Es un sitio web basado en HTML.
Almacena la memoria caché en un dispositivo para que también se pueda usar sin conexión.
Sin embargo, la primera vez es lenta, lo que aumentará durante la segunda visita.
Se está actualizando cuando el dispositivo obtiene Internet, por lo que no es necesario actualizar cosas nuevas como las aplicaciones.
Activa todos los correos electrónicos al servidor cuando el dispositivo obtiene internet si alguien publica algo fuera de línea.
Finalmente, no es necesario crear una aplicación para iPhone / Android
Limitación Solo admite archivos HTML. Entonces el dispositivo debe ser compatible con HTML.
There is no store to search PWA application.
Login with FB or else will not be worked.
Not supported in IE.
Configurar PWA (sistema operativo Linux)
Paso 1: Instalar magento 2.3.1
Paso 2: Instalar / actualizar nodo
Utilice el módulo n de npm para actualizar el nodo
sudo npm install n -g
Para la última versión estable:
sudo n stable
Para la última versión:
sudo n latest
Paso 3: Instalar / actualizar hilo:
sudo npm install --global yarn
sudo npm upgrade --global yarn
Paso 4: Instalar node-gyp - Node.js herramienta de compilación de complemento nativa
sudo npm install -g node-gyp
Paso 5: Clone el repositorio de PWA Studio
Vaya a la raíz html y ejecute:
git clone https://github.com/magento-research/pwa-studio.git
Después de ejecutar esto, obtendrá la carpeta pwa-studio
Paso 6: Instale las dependencias de PWA Studio
sudo yarn install
Paso 7: especifique el servidor backend de Magento
Under the packages/venia-concept directory, copy .env.dist into a new .env file:
Comando de ejemplo:
sudo cp packages/venia-concept/.env.dist packages/venia-concept/.env
cambiar en el archivo .env (esta será su URL de magento, no la URL del administrador):
MAGENTO_BACKEND_URL="https://release-dev-231-npzdaky-zddsyhrdimyra.us-4.magentosite.cloud/"
Paso 8: ahora crea una compilación
sudo yarn run build
Paso 9: ejecuta el servidor
sudo yarn run watch:venia
Inicia solo el entorno de desarrollo de escaparate Venia.
sudo yarn run watch:all
Ejecuta la experiencia completa del desarrollador de PWA Studio, que incluye la recarga en caliente de Venia y las reconstrucciones simultáneas de Buildpack / Peregrine.
sudo yarn run build && yarn run stage:venia
Genera artefactos de construcción y ejecuta el entorno de ensayo, que utiliza más activos comprimidos y refleja más de cerca la producción.
Una vez que ejecute uno de los comandos anteriores, obtendrá la url virtul creada por PWA.
NOTA: si usted es un usuario novato, use sudo.
Siga los documentos de desarrollo oficial de Magento 2: