- ¿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?
¿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 [email protected] --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:
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.
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 .
fuente
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:
fuente
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:
Usted puede leer más aquí.
fuente
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:
fuente
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í
fuente
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.
fuente
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
Para la última versión estable:
Para la última versión:
Paso 3: Instalar / actualizar hilo:
Paso 4: Instalar node-gyp - Node.js herramienta de compilación de complemento nativa
Paso 5: Clone el repositorio de PWA Studio
Vaya a la raíz html y ejecute:
Después de ejecutar esto, obtendrá la carpeta pwa-studio
Paso 6: Instale las dependencias de PWA Studio
Paso 7: especifique el servidor backend de Magento
Comando de ejemplo:
cambiar en el archivo .env (esta será su URL de magento, no la URL del administrador):
Paso 8: ahora crea una compilación
Paso 9: ejecuta el servidor
Inicia solo el entorno de desarrollo de escaparate Venia.
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.
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:
https://devdocs.magento.com/guides/v2.3/pwa/
fuente