What is Progressive Web Apps, or PWAs in Magento 2?












28















  • What does it mean that Magento is becoming a Progressive Web Application
    platform?

  • What will be the code structure of PWAs in Magento?

  • What is the deal with REST APIs and PWAs?










share|improve this question





























    28















    • What does it mean that Magento is becoming a Progressive Web Application
      platform?

    • What will be the code structure of PWAs in Magento?

    • What is the deal with REST APIs and PWAs?










    share|improve this question



























      28












      28








      28


      15






      • What does it mean that Magento is becoming a Progressive Web Application
        platform?

      • What will be the code structure of PWAs in Magento?

      • What is the deal with REST APIs and PWAs?










      share|improve this question
















      • What does it mean that Magento is becoming a Progressive Web Application
        platform?

      • What will be the code structure of PWAs in Magento?

      • What is the deal with REST APIs and PWAs?







      magento2 api rest-api webapi pwa






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited 8 hours ago

























      asked Sep 27 '18 at 8:00









      Aditya Shah

      3,5952834




      3,5952834






















          7 Answers
          7






          active

          oldest

          votes


















          29





          +150









          What is Progressive Web Apps ?






          • Looks and behaves like a mobile app.

          • Take advantage of native mobile device features, without requiring
            the end user to visit an app store, make a purchase and download it
            locally.




          Why PWA?




          • Fast

          • Secure (second last topic of answer)

          • Responsive

          • Cross-browser compatible


          • Offline Mode (Check the last topic in the answer)

          • Mobile “Install”

          • Shareable content




          This answer also covers - Installation of Magento 2.3 with PWA






          Let's take an example of Flipkart




          Flipkart, India’s largest e-commerce site, decided to combine
          their web presence and native app into a Progressive Web Application
          that has resulted in a 70% increase in conversions



          Flipkart Progressive Web App



          Flipkart





          Approach






          1. Developed Flipkart Lite, a Progressive Web App

          2. Added service workers for quicker load times

          3. Smooth navigation and scrolling at 60 frames/second

          4. Created an “Add to Home Screen” prompt to encourage users to add the
            mobile web-page to their home screens





          Results





          New Progressive Web App helps Flipkart
          boost conversions 70%



          enter image description here






          Flipkart also works on Offline mode





          • Service Workers can be scripted to intercept every network request
            and serve a response from cache even when the user is offline.


          • Service Workers wrapper library that enables using simple patterns such as NetworkFirst, CacheFirst or NetworkOnly.
            SW-Toolbox provides an LRU cache used in Flipkart app for
            storing previous search results on the browse page and last few
            visited product pages.

          • The toolbox also has TTL-based cache invalidation mechanism
            that we use to purge out of date content. Service Workers provide
            low-level scriptable primitives that make this possible.


          enter image description here








          BUT... BUT... BUT...




          What is the Magento PWA Studio?




          • • The Magento PWA Studio project is a set of developer tools that
            allow for the development, deployment, and maintenance of a PWA
            storefront on top of Magento 2




          The Magento PWA Studio project provides the following tools:







          pwa-module




          • Its have modules like helpers, server-side functionality and acts
            as a foundation for all themes created using Magento PWA Studio.


          pwa-buildpack -




          • Buildpack is a set of Webpack plugins and tools which is used for
            development of Magento PWA themes.


          • It is also used to setup and configure local development environment
            for Magento 2 platform.




          It contains the following tools:





          • PWADevServer

          • Magento Resolver

          • Magento Root Components Plugin

          • magento-layout-loader

          • Service Worker Plugin


          Peregrine - Peregrine is a set of React components created to
          handle Magento-specific functionalities like routing, root-components, layout handler, product lists, price display, etc.



          Venia theme - venia-concept is a demo theme created by
          Magento using the Magento PWA studio. It showcases all
          currently available functionality, workflow and pages



          PWA Studio is NOT




          • A New release of Magento


          • A Replacement of all front-end


          • A Desktop Application







          Tools & Libraries used in PWA Studios





          Webpack




          • Webpack’s primary function is to create one or more bundles from the
            dependencies in your project’s modules.


          enter image description hereApp Shell






          • Total size is smaller

          • Initial load requests three files: login.html, shell-1234.js, 3456.js

          • Initial load needs to load: Shell + Router + content

          • The shell is visible earlier than with Page Shell approach.


          Page Shell






          • Total size is bigger (i. e. dashboard content is in dashboard-1234.js
            and 4567.js)


          • App takes longer to be offline ready.


          • Initial load requests only two files: login.html, login-2345.js


          • Initial load needs to load: Shell + content


          • The shell + content is visible earlier than with App Shell approach.




          A hybrid approach can be used where shell and content is separated in
          two requests (see admin page as example). This makes sense when
          content is much bigger than shell and shell should be visible earlier.




          ReactJs




          • A JavaScript library for building user interfaces.


          enter image description here



          Redux




          • A JavaScript library used for managing state in a web application.
            enter image description here


          GraphQL




          • A data query language on the client side and a service layer on the
            server side.


          GraphQL in Magento



          enter image description here



          Authentication and Schema



          enter image description here



          Reducing amount of Front-end Queries



          Phase Render



          Desktop Browser compatibility





          enter image description here





          • Not supported: IE, Safari






          Mobile Browser compatibility





          enter image description hereNot supported: Android Webview, IE, Safari





          PWAs are More Secure






          • As a web developer, you may know how much Google encourages
            websites having https instead of HTTP. Cyber threats are
            always top of the list for web and app developers.

          • In the past, HTTP was not secure enough to protect users’
            information.

          • Websites are now being programmed in HTTPs and it is easy to launch a
            Progressive Web App in a secure environment.

          • While entering personal information in PWA such as credit card
            information
            or contact details, they may feel secure and have peace
            of mind.






          PWA - Offline Mode



          offline Wikipedia application is a good example of a PWA that uses an app shell model.




          • It loads instantly on repeat visits, but dynamically fetches content
            using JS.

          • This content is then cached offline for future visits.


          enter image description here




          Progressive Web App is the future of web development without any
          doubt. In the future, e-commerce sites, restaurants, and media sources
          will transition from native app to Progressive Web App. However, still
          in the initial phase, many of the developers would be actively looking
          for ways to make most out of the opportunities given by PWAs.







          Lets start with Magento 2.3 installation with PWA




          1. Enter the following command in DIR /var/www/html/ (m203 is my Magento 2.3 directory):



          composer create-project --repository=https://repo.magento.com/ magento/project-community-edition=2.3.* --stability=beta m203


          2. Install Magento by Command Line:



          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. Create base pwa theme which will be the parent them for PWA Venia theme.




          • For now lets clone base pwa theme repository.


          4. Create directory app/design/frontend/Magento/pwa and copy all files
          and directories of base theme here.




          • Lets check base theme is available or not.


          • Run: php bin/magento setup:upgrade


          • And navigate to your Magento Admin->Content->Themes
            enter image description here



          5. Download PWA studio project.



          6. Navigate to your Magento installation’s root directory and create a Pwa symlink folder
          linking to the project’s module directory(pwa-studio/packages/pwa-module).




          • from this directory i ran my command - /var/www/html/m230


          • This is a directory where my pwa downloaded source is /var/www/html/PWA/





          ln -s /var/www/html/PWA/pwa-studio-master/packages/pwa-module app/code/Magento/Pwa


          7. Link theme directory as well.Navigate to your Magento installation’s root directory and create a Pwa symlink folder linking to the project’s module directory(pwa-studio/packages/venia-concept).



          ln -s /var/www/html/PWA/pwa-studio-master/packages/venia-concept app/design/frontend/Magento/venia


          8. Now navigate to your pwa-studio project’s venia-concept directory, copy .env.dist into a new .env file and update the variables with the URL to your Magento development store.



          cd /var/www/html/PWA/pwa-studio-master/packages/venia-concept

          cp .env.dist .env


          9. Install venia theme and Pwa Module:



          run: php bin/magento setup:upgrade


          we can see the venia theme is installed successfully.



          enter image description here



          10. Configure venia theme from admin->Content->Configuration



          11. Navigate to path (/var/www/html/PWA/pwa-studio-master) run:



          npm install


          or



          npm install webpack-dev-server -g


          12. And Finally Navigate to /var/www/html/PWA/pwa-studio-master/packages/venia-concept



          npm start



          Congratulations! You have set up your development environment for the
          Venia theme project.










          share|improve this answer



















          • 4




            Good R&D!! It will be helpful for developers.
            – Sunny Rahevar
            Oct 12 '18 at 7:07






          • 1




            yeah, hope so :) thanks
            – Aditya Shah
            Oct 12 '18 at 7:09






          • 3




            @AdityaShah Great very good answer. :)
            – Prince Patel
            Oct 17 '18 at 12:26










          • This step is neither working: ln -s pwa-studio/packages/pwa-module app/design/frontend/Magento/venia Nor its creating venia theme
            – Hassan Ali Shahzad
            Dec 11 '18 at 11:44












          • Please specify Step No.
            – Aditya Shah
            Dec 11 '18 at 12:01



















          6














          PWA - Progressive Web Application are the generally web application which is user experiences the rich web. in way of :





          • Reliable - load instantly and also available in offline mode.


          • Fast - in a way of interaction where user are smoothly interact with it, and also without any scrolling or animation junks.


          • Engaging - as denoted above both points if application is reliable & fast then it is obviously engage more user experience and also feel like it's natural app.



          "What does it mean that Magento is becoming a Progressive Web
          Application platform?"




          As magento is preparing for 2.3 version release it is including this "PWA" feature to make frontend more efficient, in a way of user interaction.




          What is the deal with REST APIs and PWAs?




          As magento is using "PWA" it is also adding "GraphQL API" for providing front-end development side api alternative of "REST/SOAP" as "GraphQL" api.



          For getting more detailed about the "PWA" and new feature of "magento2.3 open-commerce" You can visit this magento's official page.






          share|improve this answer























          • REST API is working based on service contact and Interface and Models
            – Aditya Shah
            Sep 28 '18 at 7:01










          • Then service contact methodology will deprecated ?
            – Aditya Shah
            Sep 28 '18 at 7:01






          • 1




            @AdityaShah no, it will be there the GraphQL API is for the frontend development api it's like a "data query language", GraphQL allows you to define the structure of the data that you need. 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.
            – Himanshu
            Sep 28 '18 at 7:06












          • ohhh Okaym then we can customize APIs and create new ones just like we're doing it now.. and apply GraphQL over there
            – Aditya Shah
            Sep 28 '18 at 7:08










          • You can read more about GraphQL from here devdocs.magento.com/guides/v2.3/graphql/index.html
            – Himanshu
            Sep 28 '18 at 7:09





















          4














          Progressive means that the application loads along with any relevant data and assets, as a user navigates around your website. This results in an end-user experience with better speed, usability, offline operation and device integration.



          Web means that it’s written in the languages of the web (HTML, CSS, JavaScript). This allows you to create a site that gives more app-like functionality without creating a native app restricted to one platform, such as iOS or Android.



          Application means it installs and runs code on the shopper’s device or computer. Doing this creates more speed and capability than the single-page JavaScript apps of the past.



          PWAs are essentially a hybrid of regular web pages and the mobile app, allowing for mobile app-like experiences for the web.



          Magento is becoming a Progressive Web Application platform. That is to say, Magento is making a suite of tools for building online stores as Progressive Web Applications. These tools will help developers learn PWA techniques, build lightning-fast PWA frontends, and create PWA components and extensions for reuse or sale on the Magento Marketplace. Taken together, Magento is calling this suite of tools the Magento PWA Studio.



          You can check the code structure at https://github.com/magento-research/pwa-studio



          Magento PWA is using GraphQL as an alternative to REST API for PWA.



          For more details on Magento PWA, you can go through the following links:




          • https://magento-research.github.io/pwa-studio/

          • https://community.magento.com/t5/Magento-DevBlog/Introducing-Magento-PWA-Studio/ba-p/74636

          • https://brandastic.com/ideas/magento-progressive-web-apps/

          • https://www.monsoonconsulting.com/blog/progressive-web-apps-magento






          share|improve this answer





















          • so does it mean that magento 2.3 will come with application ?
            – Aditya Shah
            Sep 28 '18 at 6:59










          • Yes, PWA will be released with 2.3 but not sure if it is will be bundled with Open Source as well. What I am thinking is that it will be bundled with Commerce and AddOn for Open Source.
            – Anshu Mishra
            Sep 28 '18 at 7:04










          • Because if Magento PWA is using GraphQL as an alternative to REST API for PWA. Then REST API is working based on service contact and Interface and Models.. Then service contact methodology will deprecated ?
            – Aditya Shah
            Sep 28 '18 at 7:07










          • No, I don't think so. I think Magento will use as them as per the need REST and GraphQL has their own pros and cons. In my view, they will be using and keeping both.
            – Anshu Mishra
            Sep 28 '18 at 7:21



















          3















          • Progressive Web Apps is the middle ground between installable mobile apps and websites. We expect to see more traffic on the internet from mobile devices than from desktops, by 2019. PWAs improve the look and feel of websites to increase conversion.



          PWAs Offer Fast, Frictionless, “App-Like” Experiences Driving More
          Traffic, Higher Conversions and Faster Page Load Times for Magento
          Merchants




          So generally, Magento is transforming its look and feel to increase conversions.
          Read more about it here.





          • PWAs are usually built with JavaScript, CSS, and HTML that have a level of performance and usability that's nearly identical to native apps. PWAs have peculiarities including:




            1. They work with most (if not all) browsers and devices (mobile and desktop) with a progressive codebase (often component based like in React Js)

            2. Fit all screens and form factors using a responsive design
              Leverage service workers to enable offline connectivity (HTTPS required)

            3. Provide an app-like experience that leverages re-engagement tools, such as push notifications

            4. Leverage a web app manifest to describe the used resources




          You can read more here.




          • SOAP (Simple Object Access Protocol) and REST (Representational State Transfer) are the commonest web service communication protocols. REST is preferred to SOAP for the most part (explained here). It is therefore logical to see REST APIs being used hand in hand with a new technology like PWAs.






          share|improve this answer





















          • But what is the deal with REST APIs and PWAs ? Because magento already providing REST api for mobile application.
            – Aditya Shah
            Sep 27 '18 at 10:06










          • REST api will merge with PWA ?
            – Aditya Shah
            Sep 27 '18 at 10:08










          • Yes, PWAs consume both REST and SOAP APIs, but REST is preferred.
            – Elisha Senoo
            Sep 27 '18 at 10:13



















          2














          To answer only a part of your question but more Magento 2 specific.



          PWA will be easier to build thanks to future Magento 2.3 release.



          https://www.degdigital.com/insights/magento-2-3/



          Quoted from this article :




          PWA



          A Progressive Web App is an application built to take advantage of modern technology features that “progressively” scales back on devices
          where those features are not available. It also allows for the caching
          of data so the website can be used (partially or fully) in an offline
          mode when internet service is spotty or non-existent. This is
          generally accomplished by writing the front end of the website with a
          modern JavaScript framework/stack that is distinctly separate from the
          back-end application. This JavaScript application can use new(ish)
          browser features to accomplish the aforementioned task.



          Magento recognizes the multiple benefits to this, and in late 2017 announced its efforts in building what it calls the PWA Studio. PWA
          Studio will contain tools to develop and deploy a PWA for Magento’s
          front end. Along with PWA Studio will come a lightweight (not
          feature-full) demo site. The immediate benefits will be a major
          increase in front-end performance and a close to 10X increase in speed
          of onboarding new Magento front-end developers.





          • Related Content: PWAs Are Here and They’re Changing Everything



          GraphQL



          GraphQL is a query language for using APIs. With the rise of the PWA, there is a need to get smaller amounts of data and to make fewer
          API requests. GraphQL’s query language makes this possible by allowing
          the requestor to request a limited subset of attributes to be returned
          about an entity (significantly smaller responses) and allows you to
          chain requests (smaller number of requests).



          Magento currently supports REST and SOAP API requests that use Service Contracts. However, to support GraphQL, Magento is writing an
          entirely new layer that interfaces directly to the Query API. The
          GraphQL implementation will be the underpinnings on how a PWA frontend
          will retrieve the data it needs.







          share|improve this answer































            1














            Progressive Web Application uses web browser capabilities and provides a mobile app like experience to the users.



            It develops from a browser tab and makes pages more immersive with a low friction user experience. It is a web technology of making a website which acts and feels like an application.



            A user can launch Progressive Web Application same like a native application regardless of browser choice.



            For demo testing, you can visit on this link : Click Here






            share|improve this answer





























              0














              It's a google product launched during I/O 2017 I/O 2017: https://www.youtube.com/watch?time_continue=14&v=cmGr0RszHc8



              It is a website based on HTML.



              It stores cache in a device so one can use it offline too.



              However, the first time it is slow which will be up during the second visit.



              It is getting updated when the device gets the internet so don't need to update new thing like APPs.



              It triggers all emails to the server when the device gets the internet if someone posts the something offline.



              Eventually, no need to built iphone / android app.



              Limitation
              It only support HTML file. So the device should support HTML.



              There is no store to search PWA application.

              Login with FB or else will not be worked.

              Not supported in IE.





              share|improve this answer





















                Your Answer








                StackExchange.ready(function() {
                var channelOptions = {
                tags: "".split(" "),
                id: "479"
                };
                initTagRenderer("".split(" "), "".split(" "), channelOptions);

                StackExchange.using("externalEditor", function() {
                // Have to fire editor after snippets, if snippets enabled
                if (StackExchange.settings.snippets.snippetsEnabled) {
                StackExchange.using("snippets", function() {
                createEditor();
                });
                }
                else {
                createEditor();
                }
                });

                function createEditor() {
                StackExchange.prepareEditor({
                heartbeatType: 'answer',
                autoActivateHeartbeat: false,
                convertImagesToLinks: false,
                noModals: true,
                showLowRepImageUploadWarning: true,
                reputationToPostImages: null,
                bindNavPrevention: true,
                postfix: "",
                imageUploader: {
                brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
                contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
                allowUrls: true
                },
                onDemand: true,
                discardSelector: ".discard-answer"
                ,immediatelyShowMarkdownHelp:true
                });


                }
                });














                draft saved

                draft discarded


















                StackExchange.ready(
                function () {
                StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f244063%2fwhat-is-progressive-web-apps-or-pwas-in-magento-2%23new-answer', 'question_page');
                }
                );

                Post as a guest















                Required, but never shown

























                7 Answers
                7






                active

                oldest

                votes








                7 Answers
                7






                active

                oldest

                votes









                active

                oldest

                votes






                active

                oldest

                votes









                29





                +150









                What is Progressive Web Apps ?






                • Looks and behaves like a mobile app.

                • Take advantage of native mobile device features, without requiring
                  the end user to visit an app store, make a purchase and download it
                  locally.




                Why PWA?




                • Fast

                • Secure (second last topic of answer)

                • Responsive

                • Cross-browser compatible


                • Offline Mode (Check the last topic in the answer)

                • Mobile “Install”

                • Shareable content




                This answer also covers - Installation of Magento 2.3 with PWA






                Let's take an example of Flipkart




                Flipkart, India’s largest e-commerce site, decided to combine
                their web presence and native app into a Progressive Web Application
                that has resulted in a 70% increase in conversions



                Flipkart Progressive Web App



                Flipkart





                Approach






                1. Developed Flipkart Lite, a Progressive Web App

                2. Added service workers for quicker load times

                3. Smooth navigation and scrolling at 60 frames/second

                4. Created an “Add to Home Screen” prompt to encourage users to add the
                  mobile web-page to their home screens





                Results





                New Progressive Web App helps Flipkart
                boost conversions 70%



                enter image description here






                Flipkart also works on Offline mode





                • Service Workers can be scripted to intercept every network request
                  and serve a response from cache even when the user is offline.


                • Service Workers wrapper library that enables using simple patterns such as NetworkFirst, CacheFirst or NetworkOnly.
                  SW-Toolbox provides an LRU cache used in Flipkart app for
                  storing previous search results on the browse page and last few
                  visited product pages.

                • The toolbox also has TTL-based cache invalidation mechanism
                  that we use to purge out of date content. Service Workers provide
                  low-level scriptable primitives that make this possible.


                enter image description here








                BUT... BUT... BUT...




                What is the Magento PWA Studio?




                • • The Magento PWA Studio project is a set of developer tools that
                  allow for the development, deployment, and maintenance of a PWA
                  storefront on top of Magento 2




                The Magento PWA Studio project provides the following tools:







                pwa-module




                • Its have modules like helpers, server-side functionality and acts
                  as a foundation for all themes created using Magento PWA Studio.


                pwa-buildpack -




                • Buildpack is a set of Webpack plugins and tools which is used for
                  development of Magento PWA themes.


                • It is also used to setup and configure local development environment
                  for Magento 2 platform.




                It contains the following tools:





                • PWADevServer

                • Magento Resolver

                • Magento Root Components Plugin

                • magento-layout-loader

                • Service Worker Plugin


                Peregrine - Peregrine is a set of React components created to
                handle Magento-specific functionalities like routing, root-components, layout handler, product lists, price display, etc.



                Venia theme - venia-concept is a demo theme created by
                Magento using the Magento PWA studio. It showcases all
                currently available functionality, workflow and pages



                PWA Studio is NOT




                • A New release of Magento


                • A Replacement of all front-end


                • A Desktop Application







                Tools & Libraries used in PWA Studios





                Webpack




                • Webpack’s primary function is to create one or more bundles from the
                  dependencies in your project’s modules.


                enter image description hereApp Shell






                • Total size is smaller

                • Initial load requests three files: login.html, shell-1234.js, 3456.js

                • Initial load needs to load: Shell + Router + content

                • The shell is visible earlier than with Page Shell approach.


                Page Shell






                • Total size is bigger (i. e. dashboard content is in dashboard-1234.js
                  and 4567.js)


                • App takes longer to be offline ready.


                • Initial load requests only two files: login.html, login-2345.js


                • Initial load needs to load: Shell + content


                • The shell + content is visible earlier than with App Shell approach.




                A hybrid approach can be used where shell and content is separated in
                two requests (see admin page as example). This makes sense when
                content is much bigger than shell and shell should be visible earlier.




                ReactJs




                • A JavaScript library for building user interfaces.


                enter image description here



                Redux




                • A JavaScript library used for managing state in a web application.
                  enter image description here


                GraphQL




                • A data query language on the client side and a service layer on the
                  server side.


                GraphQL in Magento



                enter image description here



                Authentication and Schema



                enter image description here



                Reducing amount of Front-end Queries



                Phase Render



                Desktop Browser compatibility





                enter image description here





                • Not supported: IE, Safari






                Mobile Browser compatibility





                enter image description hereNot supported: Android Webview, IE, Safari





                PWAs are More Secure






                • As a web developer, you may know how much Google encourages
                  websites having https instead of HTTP. Cyber threats are
                  always top of the list for web and app developers.

                • In the past, HTTP was not secure enough to protect users’
                  information.

                • Websites are now being programmed in HTTPs and it is easy to launch a
                  Progressive Web App in a secure environment.

                • While entering personal information in PWA such as credit card
                  information
                  or contact details, they may feel secure and have peace
                  of mind.






                PWA - Offline Mode



                offline Wikipedia application is a good example of a PWA that uses an app shell model.




                • It loads instantly on repeat visits, but dynamically fetches content
                  using JS.

                • This content is then cached offline for future visits.


                enter image description here




                Progressive Web App is the future of web development without any
                doubt. In the future, e-commerce sites, restaurants, and media sources
                will transition from native app to Progressive Web App. However, still
                in the initial phase, many of the developers would be actively looking
                for ways to make most out of the opportunities given by PWAs.







                Lets start with Magento 2.3 installation with PWA




                1. Enter the following command in DIR /var/www/html/ (m203 is my Magento 2.3 directory):



                composer create-project --repository=https://repo.magento.com/ magento/project-community-edition=2.3.* --stability=beta m203


                2. Install Magento by Command Line:



                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. Create base pwa theme which will be the parent them for PWA Venia theme.




                • For now lets clone base pwa theme repository.


                4. Create directory app/design/frontend/Magento/pwa and copy all files
                and directories of base theme here.




                • Lets check base theme is available or not.


                • Run: php bin/magento setup:upgrade


                • And navigate to your Magento Admin->Content->Themes
                  enter image description here



                5. Download PWA studio project.



                6. Navigate to your Magento installation’s root directory and create a Pwa symlink folder
                linking to the project’s module directory(pwa-studio/packages/pwa-module).




                • from this directory i ran my command - /var/www/html/m230


                • This is a directory where my pwa downloaded source is /var/www/html/PWA/





                ln -s /var/www/html/PWA/pwa-studio-master/packages/pwa-module app/code/Magento/Pwa


                7. Link theme directory as well.Navigate to your Magento installation’s root directory and create a Pwa symlink folder linking to the project’s module directory(pwa-studio/packages/venia-concept).



                ln -s /var/www/html/PWA/pwa-studio-master/packages/venia-concept app/design/frontend/Magento/venia


                8. Now navigate to your pwa-studio project’s venia-concept directory, copy .env.dist into a new .env file and update the variables with the URL to your Magento development store.



                cd /var/www/html/PWA/pwa-studio-master/packages/venia-concept

                cp .env.dist .env


                9. Install venia theme and Pwa Module:



                run: php bin/magento setup:upgrade


                we can see the venia theme is installed successfully.



                enter image description here



                10. Configure venia theme from admin->Content->Configuration



                11. Navigate to path (/var/www/html/PWA/pwa-studio-master) run:



                npm install


                or



                npm install webpack-dev-server -g


                12. And Finally Navigate to /var/www/html/PWA/pwa-studio-master/packages/venia-concept



                npm start



                Congratulations! You have set up your development environment for the
                Venia theme project.










                share|improve this answer



















                • 4




                  Good R&D!! It will be helpful for developers.
                  – Sunny Rahevar
                  Oct 12 '18 at 7:07






                • 1




                  yeah, hope so :) thanks
                  – Aditya Shah
                  Oct 12 '18 at 7:09






                • 3




                  @AdityaShah Great very good answer. :)
                  – Prince Patel
                  Oct 17 '18 at 12:26










                • This step is neither working: ln -s pwa-studio/packages/pwa-module app/design/frontend/Magento/venia Nor its creating venia theme
                  – Hassan Ali Shahzad
                  Dec 11 '18 at 11:44












                • Please specify Step No.
                  – Aditya Shah
                  Dec 11 '18 at 12:01
















                29





                +150









                What is Progressive Web Apps ?






                • Looks and behaves like a mobile app.

                • Take advantage of native mobile device features, without requiring
                  the end user to visit an app store, make a purchase and download it
                  locally.




                Why PWA?




                • Fast

                • Secure (second last topic of answer)

                • Responsive

                • Cross-browser compatible


                • Offline Mode (Check the last topic in the answer)

                • Mobile “Install”

                • Shareable content




                This answer also covers - Installation of Magento 2.3 with PWA






                Let's take an example of Flipkart




                Flipkart, India’s largest e-commerce site, decided to combine
                their web presence and native app into a Progressive Web Application
                that has resulted in a 70% increase in conversions



                Flipkart Progressive Web App



                Flipkart





                Approach






                1. Developed Flipkart Lite, a Progressive Web App

                2. Added service workers for quicker load times

                3. Smooth navigation and scrolling at 60 frames/second

                4. Created an “Add to Home Screen” prompt to encourage users to add the
                  mobile web-page to their home screens





                Results





                New Progressive Web App helps Flipkart
                boost conversions 70%



                enter image description here






                Flipkart also works on Offline mode





                • Service Workers can be scripted to intercept every network request
                  and serve a response from cache even when the user is offline.


                • Service Workers wrapper library that enables using simple patterns such as NetworkFirst, CacheFirst or NetworkOnly.
                  SW-Toolbox provides an LRU cache used in Flipkart app for
                  storing previous search results on the browse page and last few
                  visited product pages.

                • The toolbox also has TTL-based cache invalidation mechanism
                  that we use to purge out of date content. Service Workers provide
                  low-level scriptable primitives that make this possible.


                enter image description here








                BUT... BUT... BUT...




                What is the Magento PWA Studio?




                • • The Magento PWA Studio project is a set of developer tools that
                  allow for the development, deployment, and maintenance of a PWA
                  storefront on top of Magento 2




                The Magento PWA Studio project provides the following tools:







                pwa-module




                • Its have modules like helpers, server-side functionality and acts
                  as a foundation for all themes created using Magento PWA Studio.


                pwa-buildpack -




                • Buildpack is a set of Webpack plugins and tools which is used for
                  development of Magento PWA themes.


                • It is also used to setup and configure local development environment
                  for Magento 2 platform.




                It contains the following tools:





                • PWADevServer

                • Magento Resolver

                • Magento Root Components Plugin

                • magento-layout-loader

                • Service Worker Plugin


                Peregrine - Peregrine is a set of React components created to
                handle Magento-specific functionalities like routing, root-components, layout handler, product lists, price display, etc.



                Venia theme - venia-concept is a demo theme created by
                Magento using the Magento PWA studio. It showcases all
                currently available functionality, workflow and pages



                PWA Studio is NOT




                • A New release of Magento


                • A Replacement of all front-end


                • A Desktop Application







                Tools & Libraries used in PWA Studios





                Webpack




                • Webpack’s primary function is to create one or more bundles from the
                  dependencies in your project’s modules.


                enter image description hereApp Shell






                • Total size is smaller

                • Initial load requests three files: login.html, shell-1234.js, 3456.js

                • Initial load needs to load: Shell + Router + content

                • The shell is visible earlier than with Page Shell approach.


                Page Shell






                • Total size is bigger (i. e. dashboard content is in dashboard-1234.js
                  and 4567.js)


                • App takes longer to be offline ready.


                • Initial load requests only two files: login.html, login-2345.js


                • Initial load needs to load: Shell + content


                • The shell + content is visible earlier than with App Shell approach.




                A hybrid approach can be used where shell and content is separated in
                two requests (see admin page as example). This makes sense when
                content is much bigger than shell and shell should be visible earlier.




                ReactJs




                • A JavaScript library for building user interfaces.


                enter image description here



                Redux




                • A JavaScript library used for managing state in a web application.
                  enter image description here


                GraphQL




                • A data query language on the client side and a service layer on the
                  server side.


                GraphQL in Magento



                enter image description here



                Authentication and Schema



                enter image description here



                Reducing amount of Front-end Queries



                Phase Render



                Desktop Browser compatibility





                enter image description here





                • Not supported: IE, Safari






                Mobile Browser compatibility





                enter image description hereNot supported: Android Webview, IE, Safari





                PWAs are More Secure






                • As a web developer, you may know how much Google encourages
                  websites having https instead of HTTP. Cyber threats are
                  always top of the list for web and app developers.

                • In the past, HTTP was not secure enough to protect users’
                  information.

                • Websites are now being programmed in HTTPs and it is easy to launch a
                  Progressive Web App in a secure environment.

                • While entering personal information in PWA such as credit card
                  information
                  or contact details, they may feel secure and have peace
                  of mind.






                PWA - Offline Mode



                offline Wikipedia application is a good example of a PWA that uses an app shell model.




                • It loads instantly on repeat visits, but dynamically fetches content
                  using JS.

                • This content is then cached offline for future visits.


                enter image description here




                Progressive Web App is the future of web development without any
                doubt. In the future, e-commerce sites, restaurants, and media sources
                will transition from native app to Progressive Web App. However, still
                in the initial phase, many of the developers would be actively looking
                for ways to make most out of the opportunities given by PWAs.







                Lets start with Magento 2.3 installation with PWA




                1. Enter the following command in DIR /var/www/html/ (m203 is my Magento 2.3 directory):



                composer create-project --repository=https://repo.magento.com/ magento/project-community-edition=2.3.* --stability=beta m203


                2. Install Magento by Command Line:



                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. Create base pwa theme which will be the parent them for PWA Venia theme.




                • For now lets clone base pwa theme repository.


                4. Create directory app/design/frontend/Magento/pwa and copy all files
                and directories of base theme here.




                • Lets check base theme is available or not.


                • Run: php bin/magento setup:upgrade


                • And navigate to your Magento Admin->Content->Themes
                  enter image description here



                5. Download PWA studio project.



                6. Navigate to your Magento installation’s root directory and create a Pwa symlink folder
                linking to the project’s module directory(pwa-studio/packages/pwa-module).




                • from this directory i ran my command - /var/www/html/m230


                • This is a directory where my pwa downloaded source is /var/www/html/PWA/





                ln -s /var/www/html/PWA/pwa-studio-master/packages/pwa-module app/code/Magento/Pwa


                7. Link theme directory as well.Navigate to your Magento installation’s root directory and create a Pwa symlink folder linking to the project’s module directory(pwa-studio/packages/venia-concept).



                ln -s /var/www/html/PWA/pwa-studio-master/packages/venia-concept app/design/frontend/Magento/venia


                8. Now navigate to your pwa-studio project’s venia-concept directory, copy .env.dist into a new .env file and update the variables with the URL to your Magento development store.



                cd /var/www/html/PWA/pwa-studio-master/packages/venia-concept

                cp .env.dist .env


                9. Install venia theme and Pwa Module:



                run: php bin/magento setup:upgrade


                we can see the venia theme is installed successfully.



                enter image description here



                10. Configure venia theme from admin->Content->Configuration



                11. Navigate to path (/var/www/html/PWA/pwa-studio-master) run:



                npm install


                or



                npm install webpack-dev-server -g


                12. And Finally Navigate to /var/www/html/PWA/pwa-studio-master/packages/venia-concept



                npm start



                Congratulations! You have set up your development environment for the
                Venia theme project.










                share|improve this answer



















                • 4




                  Good R&D!! It will be helpful for developers.
                  – Sunny Rahevar
                  Oct 12 '18 at 7:07






                • 1




                  yeah, hope so :) thanks
                  – Aditya Shah
                  Oct 12 '18 at 7:09






                • 3




                  @AdityaShah Great very good answer. :)
                  – Prince Patel
                  Oct 17 '18 at 12:26










                • This step is neither working: ln -s pwa-studio/packages/pwa-module app/design/frontend/Magento/venia Nor its creating venia theme
                  – Hassan Ali Shahzad
                  Dec 11 '18 at 11:44












                • Please specify Step No.
                  – Aditya Shah
                  Dec 11 '18 at 12:01














                29





                +150







                29





                +150



                29




                +150




                What is Progressive Web Apps ?






                • Looks and behaves like a mobile app.

                • Take advantage of native mobile device features, without requiring
                  the end user to visit an app store, make a purchase and download it
                  locally.




                Why PWA?




                • Fast

                • Secure (second last topic of answer)

                • Responsive

                • Cross-browser compatible


                • Offline Mode (Check the last topic in the answer)

                • Mobile “Install”

                • Shareable content




                This answer also covers - Installation of Magento 2.3 with PWA






                Let's take an example of Flipkart




                Flipkart, India’s largest e-commerce site, decided to combine
                their web presence and native app into a Progressive Web Application
                that has resulted in a 70% increase in conversions



                Flipkart Progressive Web App



                Flipkart





                Approach






                1. Developed Flipkart Lite, a Progressive Web App

                2. Added service workers for quicker load times

                3. Smooth navigation and scrolling at 60 frames/second

                4. Created an “Add to Home Screen” prompt to encourage users to add the
                  mobile web-page to their home screens





                Results





                New Progressive Web App helps Flipkart
                boost conversions 70%



                enter image description here






                Flipkart also works on Offline mode





                • Service Workers can be scripted to intercept every network request
                  and serve a response from cache even when the user is offline.


                • Service Workers wrapper library that enables using simple patterns such as NetworkFirst, CacheFirst or NetworkOnly.
                  SW-Toolbox provides an LRU cache used in Flipkart app for
                  storing previous search results on the browse page and last few
                  visited product pages.

                • The toolbox also has TTL-based cache invalidation mechanism
                  that we use to purge out of date content. Service Workers provide
                  low-level scriptable primitives that make this possible.


                enter image description here








                BUT... BUT... BUT...




                What is the Magento PWA Studio?




                • • The Magento PWA Studio project is a set of developer tools that
                  allow for the development, deployment, and maintenance of a PWA
                  storefront on top of Magento 2




                The Magento PWA Studio project provides the following tools:







                pwa-module




                • Its have modules like helpers, server-side functionality and acts
                  as a foundation for all themes created using Magento PWA Studio.


                pwa-buildpack -




                • Buildpack is a set of Webpack plugins and tools which is used for
                  development of Magento PWA themes.


                • It is also used to setup and configure local development environment
                  for Magento 2 platform.




                It contains the following tools:





                • PWADevServer

                • Magento Resolver

                • Magento Root Components Plugin

                • magento-layout-loader

                • Service Worker Plugin


                Peregrine - Peregrine is a set of React components created to
                handle Magento-specific functionalities like routing, root-components, layout handler, product lists, price display, etc.



                Venia theme - venia-concept is a demo theme created by
                Magento using the Magento PWA studio. It showcases all
                currently available functionality, workflow and pages



                PWA Studio is NOT




                • A New release of Magento


                • A Replacement of all front-end


                • A Desktop Application







                Tools & Libraries used in PWA Studios





                Webpack




                • Webpack’s primary function is to create one or more bundles from the
                  dependencies in your project’s modules.


                enter image description hereApp Shell






                • Total size is smaller

                • Initial load requests three files: login.html, shell-1234.js, 3456.js

                • Initial load needs to load: Shell + Router + content

                • The shell is visible earlier than with Page Shell approach.


                Page Shell






                • Total size is bigger (i. e. dashboard content is in dashboard-1234.js
                  and 4567.js)


                • App takes longer to be offline ready.


                • Initial load requests only two files: login.html, login-2345.js


                • Initial load needs to load: Shell + content


                • The shell + content is visible earlier than with App Shell approach.




                A hybrid approach can be used where shell and content is separated in
                two requests (see admin page as example). This makes sense when
                content is much bigger than shell and shell should be visible earlier.




                ReactJs




                • A JavaScript library for building user interfaces.


                enter image description here



                Redux




                • A JavaScript library used for managing state in a web application.
                  enter image description here


                GraphQL




                • A data query language on the client side and a service layer on the
                  server side.


                GraphQL in Magento



                enter image description here



                Authentication and Schema



                enter image description here



                Reducing amount of Front-end Queries



                Phase Render



                Desktop Browser compatibility





                enter image description here





                • Not supported: IE, Safari






                Mobile Browser compatibility





                enter image description hereNot supported: Android Webview, IE, Safari





                PWAs are More Secure






                • As a web developer, you may know how much Google encourages
                  websites having https instead of HTTP. Cyber threats are
                  always top of the list for web and app developers.

                • In the past, HTTP was not secure enough to protect users’
                  information.

                • Websites are now being programmed in HTTPs and it is easy to launch a
                  Progressive Web App in a secure environment.

                • While entering personal information in PWA such as credit card
                  information
                  or contact details, they may feel secure and have peace
                  of mind.






                PWA - Offline Mode



                offline Wikipedia application is a good example of a PWA that uses an app shell model.




                • It loads instantly on repeat visits, but dynamically fetches content
                  using JS.

                • This content is then cached offline for future visits.


                enter image description here




                Progressive Web App is the future of web development without any
                doubt. In the future, e-commerce sites, restaurants, and media sources
                will transition from native app to Progressive Web App. However, still
                in the initial phase, many of the developers would be actively looking
                for ways to make most out of the opportunities given by PWAs.







                Lets start with Magento 2.3 installation with PWA




                1. Enter the following command in DIR /var/www/html/ (m203 is my Magento 2.3 directory):



                composer create-project --repository=https://repo.magento.com/ magento/project-community-edition=2.3.* --stability=beta m203


                2. Install Magento by Command Line:



                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. Create base pwa theme which will be the parent them for PWA Venia theme.




                • For now lets clone base pwa theme repository.


                4. Create directory app/design/frontend/Magento/pwa and copy all files
                and directories of base theme here.




                • Lets check base theme is available or not.


                • Run: php bin/magento setup:upgrade


                • And navigate to your Magento Admin->Content->Themes
                  enter image description here



                5. Download PWA studio project.



                6. Navigate to your Magento installation’s root directory and create a Pwa symlink folder
                linking to the project’s module directory(pwa-studio/packages/pwa-module).




                • from this directory i ran my command - /var/www/html/m230


                • This is a directory where my pwa downloaded source is /var/www/html/PWA/





                ln -s /var/www/html/PWA/pwa-studio-master/packages/pwa-module app/code/Magento/Pwa


                7. Link theme directory as well.Navigate to your Magento installation’s root directory and create a Pwa symlink folder linking to the project’s module directory(pwa-studio/packages/venia-concept).



                ln -s /var/www/html/PWA/pwa-studio-master/packages/venia-concept app/design/frontend/Magento/venia


                8. Now navigate to your pwa-studio project’s venia-concept directory, copy .env.dist into a new .env file and update the variables with the URL to your Magento development store.



                cd /var/www/html/PWA/pwa-studio-master/packages/venia-concept

                cp .env.dist .env


                9. Install venia theme and Pwa Module:



                run: php bin/magento setup:upgrade


                we can see the venia theme is installed successfully.



                enter image description here



                10. Configure venia theme from admin->Content->Configuration



                11. Navigate to path (/var/www/html/PWA/pwa-studio-master) run:



                npm install


                or



                npm install webpack-dev-server -g


                12. And Finally Navigate to /var/www/html/PWA/pwa-studio-master/packages/venia-concept



                npm start



                Congratulations! You have set up your development environment for the
                Venia theme project.










                share|improve this answer














                What is Progressive Web Apps ?






                • Looks and behaves like a mobile app.

                • Take advantage of native mobile device features, without requiring
                  the end user to visit an app store, make a purchase and download it
                  locally.




                Why PWA?




                • Fast

                • Secure (second last topic of answer)

                • Responsive

                • Cross-browser compatible


                • Offline Mode (Check the last topic in the answer)

                • Mobile “Install”

                • Shareable content




                This answer also covers - Installation of Magento 2.3 with PWA






                Let's take an example of Flipkart




                Flipkart, India’s largest e-commerce site, decided to combine
                their web presence and native app into a Progressive Web Application
                that has resulted in a 70% increase in conversions



                Flipkart Progressive Web App



                Flipkart





                Approach






                1. Developed Flipkart Lite, a Progressive Web App

                2. Added service workers for quicker load times

                3. Smooth navigation and scrolling at 60 frames/second

                4. Created an “Add to Home Screen” prompt to encourage users to add the
                  mobile web-page to their home screens





                Results





                New Progressive Web App helps Flipkart
                boost conversions 70%



                enter image description here






                Flipkart also works on Offline mode





                • Service Workers can be scripted to intercept every network request
                  and serve a response from cache even when the user is offline.


                • Service Workers wrapper library that enables using simple patterns such as NetworkFirst, CacheFirst or NetworkOnly.
                  SW-Toolbox provides an LRU cache used in Flipkart app for
                  storing previous search results on the browse page and last few
                  visited product pages.

                • The toolbox also has TTL-based cache invalidation mechanism
                  that we use to purge out of date content. Service Workers provide
                  low-level scriptable primitives that make this possible.


                enter image description here








                BUT... BUT... BUT...




                What is the Magento PWA Studio?




                • • The Magento PWA Studio project is a set of developer tools that
                  allow for the development, deployment, and maintenance of a PWA
                  storefront on top of Magento 2




                The Magento PWA Studio project provides the following tools:







                pwa-module




                • Its have modules like helpers, server-side functionality and acts
                  as a foundation for all themes created using Magento PWA Studio.


                pwa-buildpack -




                • Buildpack is a set of Webpack plugins and tools which is used for
                  development of Magento PWA themes.


                • It is also used to setup and configure local development environment
                  for Magento 2 platform.




                It contains the following tools:





                • PWADevServer

                • Magento Resolver

                • Magento Root Components Plugin

                • magento-layout-loader

                • Service Worker Plugin


                Peregrine - Peregrine is a set of React components created to
                handle Magento-specific functionalities like routing, root-components, layout handler, product lists, price display, etc.



                Venia theme - venia-concept is a demo theme created by
                Magento using the Magento PWA studio. It showcases all
                currently available functionality, workflow and pages



                PWA Studio is NOT




                • A New release of Magento


                • A Replacement of all front-end


                • A Desktop Application







                Tools & Libraries used in PWA Studios





                Webpack




                • Webpack’s primary function is to create one or more bundles from the
                  dependencies in your project’s modules.


                enter image description hereApp Shell






                • Total size is smaller

                • Initial load requests three files: login.html, shell-1234.js, 3456.js

                • Initial load needs to load: Shell + Router + content

                • The shell is visible earlier than with Page Shell approach.


                Page Shell






                • Total size is bigger (i. e. dashboard content is in dashboard-1234.js
                  and 4567.js)


                • App takes longer to be offline ready.


                • Initial load requests only two files: login.html, login-2345.js


                • Initial load needs to load: Shell + content


                • The shell + content is visible earlier than with App Shell approach.




                A hybrid approach can be used where shell and content is separated in
                two requests (see admin page as example). This makes sense when
                content is much bigger than shell and shell should be visible earlier.




                ReactJs




                • A JavaScript library for building user interfaces.


                enter image description here



                Redux




                • A JavaScript library used for managing state in a web application.
                  enter image description here


                GraphQL




                • A data query language on the client side and a service layer on the
                  server side.


                GraphQL in Magento



                enter image description here



                Authentication and Schema



                enter image description here



                Reducing amount of Front-end Queries



                Phase Render



                Desktop Browser compatibility





                enter image description here





                • Not supported: IE, Safari






                Mobile Browser compatibility





                enter image description hereNot supported: Android Webview, IE, Safari





                PWAs are More Secure






                • As a web developer, you may know how much Google encourages
                  websites having https instead of HTTP. Cyber threats are
                  always top of the list for web and app developers.

                • In the past, HTTP was not secure enough to protect users’
                  information.

                • Websites are now being programmed in HTTPs and it is easy to launch a
                  Progressive Web App in a secure environment.

                • While entering personal information in PWA such as credit card
                  information
                  or contact details, they may feel secure and have peace
                  of mind.






                PWA - Offline Mode



                offline Wikipedia application is a good example of a PWA that uses an app shell model.




                • It loads instantly on repeat visits, but dynamically fetches content
                  using JS.

                • This content is then cached offline for future visits.


                enter image description here




                Progressive Web App is the future of web development without any
                doubt. In the future, e-commerce sites, restaurants, and media sources
                will transition from native app to Progressive Web App. However, still
                in the initial phase, many of the developers would be actively looking
                for ways to make most out of the opportunities given by PWAs.







                Lets start with Magento 2.3 installation with PWA




                1. Enter the following command in DIR /var/www/html/ (m203 is my Magento 2.3 directory):



                composer create-project --repository=https://repo.magento.com/ magento/project-community-edition=2.3.* --stability=beta m203


                2. Install Magento by Command Line:



                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. Create base pwa theme which will be the parent them for PWA Venia theme.




                • For now lets clone base pwa theme repository.


                4. Create directory app/design/frontend/Magento/pwa and copy all files
                and directories of base theme here.




                • Lets check base theme is available or not.


                • Run: php bin/magento setup:upgrade


                • And navigate to your Magento Admin->Content->Themes
                  enter image description here



                5. Download PWA studio project.



                6. Navigate to your Magento installation’s root directory and create a Pwa symlink folder
                linking to the project’s module directory(pwa-studio/packages/pwa-module).




                • from this directory i ran my command - /var/www/html/m230


                • This is a directory where my pwa downloaded source is /var/www/html/PWA/





                ln -s /var/www/html/PWA/pwa-studio-master/packages/pwa-module app/code/Magento/Pwa


                7. Link theme directory as well.Navigate to your Magento installation’s root directory and create a Pwa symlink folder linking to the project’s module directory(pwa-studio/packages/venia-concept).



                ln -s /var/www/html/PWA/pwa-studio-master/packages/venia-concept app/design/frontend/Magento/venia


                8. Now navigate to your pwa-studio project’s venia-concept directory, copy .env.dist into a new .env file and update the variables with the URL to your Magento development store.



                cd /var/www/html/PWA/pwa-studio-master/packages/venia-concept

                cp .env.dist .env


                9. Install venia theme and Pwa Module:



                run: php bin/magento setup:upgrade


                we can see the venia theme is installed successfully.



                enter image description here



                10. Configure venia theme from admin->Content->Configuration



                11. Navigate to path (/var/www/html/PWA/pwa-studio-master) run:



                npm install


                or



                npm install webpack-dev-server -g


                12. And Finally Navigate to /var/www/html/PWA/pwa-studio-master/packages/venia-concept



                npm start



                Congratulations! You have set up your development environment for the
                Venia theme project.











                share|improve this answer














                share|improve this answer



                share|improve this answer








                edited Oct 12 '18 at 10:56

























                answered Oct 2 '18 at 7:28









                Aditya Shah

                3,5952834




                3,5952834








                • 4




                  Good R&D!! It will be helpful for developers.
                  – Sunny Rahevar
                  Oct 12 '18 at 7:07






                • 1




                  yeah, hope so :) thanks
                  – Aditya Shah
                  Oct 12 '18 at 7:09






                • 3




                  @AdityaShah Great very good answer. :)
                  – Prince Patel
                  Oct 17 '18 at 12:26










                • This step is neither working: ln -s pwa-studio/packages/pwa-module app/design/frontend/Magento/venia Nor its creating venia theme
                  – Hassan Ali Shahzad
                  Dec 11 '18 at 11:44












                • Please specify Step No.
                  – Aditya Shah
                  Dec 11 '18 at 12:01














                • 4




                  Good R&D!! It will be helpful for developers.
                  – Sunny Rahevar
                  Oct 12 '18 at 7:07






                • 1




                  yeah, hope so :) thanks
                  – Aditya Shah
                  Oct 12 '18 at 7:09






                • 3




                  @AdityaShah Great very good answer. :)
                  – Prince Patel
                  Oct 17 '18 at 12:26










                • This step is neither working: ln -s pwa-studio/packages/pwa-module app/design/frontend/Magento/venia Nor its creating venia theme
                  – Hassan Ali Shahzad
                  Dec 11 '18 at 11:44












                • Please specify Step No.
                  – Aditya Shah
                  Dec 11 '18 at 12:01








                4




                4




                Good R&D!! It will be helpful for developers.
                – Sunny Rahevar
                Oct 12 '18 at 7:07




                Good R&D!! It will be helpful for developers.
                – Sunny Rahevar
                Oct 12 '18 at 7:07




                1




                1




                yeah, hope so :) thanks
                – Aditya Shah
                Oct 12 '18 at 7:09




                yeah, hope so :) thanks
                – Aditya Shah
                Oct 12 '18 at 7:09




                3




                3




                @AdityaShah Great very good answer. :)
                – Prince Patel
                Oct 17 '18 at 12:26




                @AdityaShah Great very good answer. :)
                – Prince Patel
                Oct 17 '18 at 12:26












                This step is neither working: ln -s pwa-studio/packages/pwa-module app/design/frontend/Magento/venia Nor its creating venia theme
                – Hassan Ali Shahzad
                Dec 11 '18 at 11:44






                This step is neither working: ln -s pwa-studio/packages/pwa-module app/design/frontend/Magento/venia Nor its creating venia theme
                – Hassan Ali Shahzad
                Dec 11 '18 at 11:44














                Please specify Step No.
                – Aditya Shah
                Dec 11 '18 at 12:01




                Please specify Step No.
                – Aditya Shah
                Dec 11 '18 at 12:01













                6














                PWA - Progressive Web Application are the generally web application which is user experiences the rich web. in way of :





                • Reliable - load instantly and also available in offline mode.


                • Fast - in a way of interaction where user are smoothly interact with it, and also without any scrolling or animation junks.


                • Engaging - as denoted above both points if application is reliable & fast then it is obviously engage more user experience and also feel like it's natural app.



                "What does it mean that Magento is becoming a Progressive Web
                Application platform?"




                As magento is preparing for 2.3 version release it is including this "PWA" feature to make frontend more efficient, in a way of user interaction.




                What is the deal with REST APIs and PWAs?




                As magento is using "PWA" it is also adding "GraphQL API" for providing front-end development side api alternative of "REST/SOAP" as "GraphQL" api.



                For getting more detailed about the "PWA" and new feature of "magento2.3 open-commerce" You can visit this magento's official page.






                share|improve this answer























                • REST API is working based on service contact and Interface and Models
                  – Aditya Shah
                  Sep 28 '18 at 7:01










                • Then service contact methodology will deprecated ?
                  – Aditya Shah
                  Sep 28 '18 at 7:01






                • 1




                  @AdityaShah no, it will be there the GraphQL API is for the frontend development api it's like a "data query language", GraphQL allows you to define the structure of the data that you need. 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.
                  – Himanshu
                  Sep 28 '18 at 7:06












                • ohhh Okaym then we can customize APIs and create new ones just like we're doing it now.. and apply GraphQL over there
                  – Aditya Shah
                  Sep 28 '18 at 7:08










                • You can read more about GraphQL from here devdocs.magento.com/guides/v2.3/graphql/index.html
                  – Himanshu
                  Sep 28 '18 at 7:09


















                6














                PWA - Progressive Web Application are the generally web application which is user experiences the rich web. in way of :





                • Reliable - load instantly and also available in offline mode.


                • Fast - in a way of interaction where user are smoothly interact with it, and also without any scrolling or animation junks.


                • Engaging - as denoted above both points if application is reliable & fast then it is obviously engage more user experience and also feel like it's natural app.



                "What does it mean that Magento is becoming a Progressive Web
                Application platform?"




                As magento is preparing for 2.3 version release it is including this "PWA" feature to make frontend more efficient, in a way of user interaction.




                What is the deal with REST APIs and PWAs?




                As magento is using "PWA" it is also adding "GraphQL API" for providing front-end development side api alternative of "REST/SOAP" as "GraphQL" api.



                For getting more detailed about the "PWA" and new feature of "magento2.3 open-commerce" You can visit this magento's official page.






                share|improve this answer























                • REST API is working based on service contact and Interface and Models
                  – Aditya Shah
                  Sep 28 '18 at 7:01










                • Then service contact methodology will deprecated ?
                  – Aditya Shah
                  Sep 28 '18 at 7:01






                • 1




                  @AdityaShah no, it will be there the GraphQL API is for the frontend development api it's like a "data query language", GraphQL allows you to define the structure of the data that you need. 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.
                  – Himanshu
                  Sep 28 '18 at 7:06












                • ohhh Okaym then we can customize APIs and create new ones just like we're doing it now.. and apply GraphQL over there
                  – Aditya Shah
                  Sep 28 '18 at 7:08










                • You can read more about GraphQL from here devdocs.magento.com/guides/v2.3/graphql/index.html
                  – Himanshu
                  Sep 28 '18 at 7:09
















                6












                6








                6






                PWA - Progressive Web Application are the generally web application which is user experiences the rich web. in way of :





                • Reliable - load instantly and also available in offline mode.


                • Fast - in a way of interaction where user are smoothly interact with it, and also without any scrolling or animation junks.


                • Engaging - as denoted above both points if application is reliable & fast then it is obviously engage more user experience and also feel like it's natural app.



                "What does it mean that Magento is becoming a Progressive Web
                Application platform?"




                As magento is preparing for 2.3 version release it is including this "PWA" feature to make frontend more efficient, in a way of user interaction.




                What is the deal with REST APIs and PWAs?




                As magento is using "PWA" it is also adding "GraphQL API" for providing front-end development side api alternative of "REST/SOAP" as "GraphQL" api.



                For getting more detailed about the "PWA" and new feature of "magento2.3 open-commerce" You can visit this magento's official page.






                share|improve this answer














                PWA - Progressive Web Application are the generally web application which is user experiences the rich web. in way of :





                • Reliable - load instantly and also available in offline mode.


                • Fast - in a way of interaction where user are smoothly interact with it, and also without any scrolling or animation junks.


                • Engaging - as denoted above both points if application is reliable & fast then it is obviously engage more user experience and also feel like it's natural app.



                "What does it mean that Magento is becoming a Progressive Web
                Application platform?"




                As magento is preparing for 2.3 version release it is including this "PWA" feature to make frontend more efficient, in a way of user interaction.




                What is the deal with REST APIs and PWAs?




                As magento is using "PWA" it is also adding "GraphQL API" for providing front-end development side api alternative of "REST/SOAP" as "GraphQL" api.



                For getting more detailed about the "PWA" and new feature of "magento2.3 open-commerce" You can visit this magento's official page.







                share|improve this answer














                share|improve this answer



                share|improve this answer








                edited Sep 28 '18 at 6:42

























                answered Sep 28 '18 at 6:38









                Himanshu

                704419




                704419












                • REST API is working based on service contact and Interface and Models
                  – Aditya Shah
                  Sep 28 '18 at 7:01










                • Then service contact methodology will deprecated ?
                  – Aditya Shah
                  Sep 28 '18 at 7:01






                • 1




                  @AdityaShah no, it will be there the GraphQL API is for the frontend development api it's like a "data query language", GraphQL allows you to define the structure of the data that you need. 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.
                  – Himanshu
                  Sep 28 '18 at 7:06












                • ohhh Okaym then we can customize APIs and create new ones just like we're doing it now.. and apply GraphQL over there
                  – Aditya Shah
                  Sep 28 '18 at 7:08










                • You can read more about GraphQL from here devdocs.magento.com/guides/v2.3/graphql/index.html
                  – Himanshu
                  Sep 28 '18 at 7:09




















                • REST API is working based on service contact and Interface and Models
                  – Aditya Shah
                  Sep 28 '18 at 7:01










                • Then service contact methodology will deprecated ?
                  – Aditya Shah
                  Sep 28 '18 at 7:01






                • 1




                  @AdityaShah no, it will be there the GraphQL API is for the frontend development api it's like a "data query language", GraphQL allows you to define the structure of the data that you need. 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.
                  – Himanshu
                  Sep 28 '18 at 7:06












                • ohhh Okaym then we can customize APIs and create new ones just like we're doing it now.. and apply GraphQL over there
                  – Aditya Shah
                  Sep 28 '18 at 7:08










                • You can read more about GraphQL from here devdocs.magento.com/guides/v2.3/graphql/index.html
                  – Himanshu
                  Sep 28 '18 at 7:09


















                REST API is working based on service contact and Interface and Models
                – Aditya Shah
                Sep 28 '18 at 7:01




                REST API is working based on service contact and Interface and Models
                – Aditya Shah
                Sep 28 '18 at 7:01












                Then service contact methodology will deprecated ?
                – Aditya Shah
                Sep 28 '18 at 7:01




                Then service contact methodology will deprecated ?
                – Aditya Shah
                Sep 28 '18 at 7:01




                1




                1




                @AdityaShah no, it will be there the GraphQL API is for the frontend development api it's like a "data query language", GraphQL allows you to define the structure of the data that you need. 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.
                – Himanshu
                Sep 28 '18 at 7:06






                @AdityaShah no, it will be there the GraphQL API is for the frontend development api it's like a "data query language", GraphQL allows you to define the structure of the data that you need. 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.
                – Himanshu
                Sep 28 '18 at 7:06














                ohhh Okaym then we can customize APIs and create new ones just like we're doing it now.. and apply GraphQL over there
                – Aditya Shah
                Sep 28 '18 at 7:08




                ohhh Okaym then we can customize APIs and create new ones just like we're doing it now.. and apply GraphQL over there
                – Aditya Shah
                Sep 28 '18 at 7:08












                You can read more about GraphQL from here devdocs.magento.com/guides/v2.3/graphql/index.html
                – Himanshu
                Sep 28 '18 at 7:09






                You can read more about GraphQL from here devdocs.magento.com/guides/v2.3/graphql/index.html
                – Himanshu
                Sep 28 '18 at 7:09













                4














                Progressive means that the application loads along with any relevant data and assets, as a user navigates around your website. This results in an end-user experience with better speed, usability, offline operation and device integration.



                Web means that it’s written in the languages of the web (HTML, CSS, JavaScript). This allows you to create a site that gives more app-like functionality without creating a native app restricted to one platform, such as iOS or Android.



                Application means it installs and runs code on the shopper’s device or computer. Doing this creates more speed and capability than the single-page JavaScript apps of the past.



                PWAs are essentially a hybrid of regular web pages and the mobile app, allowing for mobile app-like experiences for the web.



                Magento is becoming a Progressive Web Application platform. That is to say, Magento is making a suite of tools for building online stores as Progressive Web Applications. These tools will help developers learn PWA techniques, build lightning-fast PWA frontends, and create PWA components and extensions for reuse or sale on the Magento Marketplace. Taken together, Magento is calling this suite of tools the Magento PWA Studio.



                You can check the code structure at https://github.com/magento-research/pwa-studio



                Magento PWA is using GraphQL as an alternative to REST API for PWA.



                For more details on Magento PWA, you can go through the following links:




                • https://magento-research.github.io/pwa-studio/

                • https://community.magento.com/t5/Magento-DevBlog/Introducing-Magento-PWA-Studio/ba-p/74636

                • https://brandastic.com/ideas/magento-progressive-web-apps/

                • https://www.monsoonconsulting.com/blog/progressive-web-apps-magento






                share|improve this answer





















                • so does it mean that magento 2.3 will come with application ?
                  – Aditya Shah
                  Sep 28 '18 at 6:59










                • Yes, PWA will be released with 2.3 but not sure if it is will be bundled with Open Source as well. What I am thinking is that it will be bundled with Commerce and AddOn for Open Source.
                  – Anshu Mishra
                  Sep 28 '18 at 7:04










                • Because if Magento PWA is using GraphQL as an alternative to REST API for PWA. Then REST API is working based on service contact and Interface and Models.. Then service contact methodology will deprecated ?
                  – Aditya Shah
                  Sep 28 '18 at 7:07










                • No, I don't think so. I think Magento will use as them as per the need REST and GraphQL has their own pros and cons. In my view, they will be using and keeping both.
                  – Anshu Mishra
                  Sep 28 '18 at 7:21
















                4














                Progressive means that the application loads along with any relevant data and assets, as a user navigates around your website. This results in an end-user experience with better speed, usability, offline operation and device integration.



                Web means that it’s written in the languages of the web (HTML, CSS, JavaScript). This allows you to create a site that gives more app-like functionality without creating a native app restricted to one platform, such as iOS or Android.



                Application means it installs and runs code on the shopper’s device or computer. Doing this creates more speed and capability than the single-page JavaScript apps of the past.



                PWAs are essentially a hybrid of regular web pages and the mobile app, allowing for mobile app-like experiences for the web.



                Magento is becoming a Progressive Web Application platform. That is to say, Magento is making a suite of tools for building online stores as Progressive Web Applications. These tools will help developers learn PWA techniques, build lightning-fast PWA frontends, and create PWA components and extensions for reuse or sale on the Magento Marketplace. Taken together, Magento is calling this suite of tools the Magento PWA Studio.



                You can check the code structure at https://github.com/magento-research/pwa-studio



                Magento PWA is using GraphQL as an alternative to REST API for PWA.



                For more details on Magento PWA, you can go through the following links:




                • https://magento-research.github.io/pwa-studio/

                • https://community.magento.com/t5/Magento-DevBlog/Introducing-Magento-PWA-Studio/ba-p/74636

                • https://brandastic.com/ideas/magento-progressive-web-apps/

                • https://www.monsoonconsulting.com/blog/progressive-web-apps-magento






                share|improve this answer





















                • so does it mean that magento 2.3 will come with application ?
                  – Aditya Shah
                  Sep 28 '18 at 6:59










                • Yes, PWA will be released with 2.3 but not sure if it is will be bundled with Open Source as well. What I am thinking is that it will be bundled with Commerce and AddOn for Open Source.
                  – Anshu Mishra
                  Sep 28 '18 at 7:04










                • Because if Magento PWA is using GraphQL as an alternative to REST API for PWA. Then REST API is working based on service contact and Interface and Models.. Then service contact methodology will deprecated ?
                  – Aditya Shah
                  Sep 28 '18 at 7:07










                • No, I don't think so. I think Magento will use as them as per the need REST and GraphQL has their own pros and cons. In my view, they will be using and keeping both.
                  – Anshu Mishra
                  Sep 28 '18 at 7:21














                4












                4








                4






                Progressive means that the application loads along with any relevant data and assets, as a user navigates around your website. This results in an end-user experience with better speed, usability, offline operation and device integration.



                Web means that it’s written in the languages of the web (HTML, CSS, JavaScript). This allows you to create a site that gives more app-like functionality without creating a native app restricted to one platform, such as iOS or Android.



                Application means it installs and runs code on the shopper’s device or computer. Doing this creates more speed and capability than the single-page JavaScript apps of the past.



                PWAs are essentially a hybrid of regular web pages and the mobile app, allowing for mobile app-like experiences for the web.



                Magento is becoming a Progressive Web Application platform. That is to say, Magento is making a suite of tools for building online stores as Progressive Web Applications. These tools will help developers learn PWA techniques, build lightning-fast PWA frontends, and create PWA components and extensions for reuse or sale on the Magento Marketplace. Taken together, Magento is calling this suite of tools the Magento PWA Studio.



                You can check the code structure at https://github.com/magento-research/pwa-studio



                Magento PWA is using GraphQL as an alternative to REST API for PWA.



                For more details on Magento PWA, you can go through the following links:




                • https://magento-research.github.io/pwa-studio/

                • https://community.magento.com/t5/Magento-DevBlog/Introducing-Magento-PWA-Studio/ba-p/74636

                • https://brandastic.com/ideas/magento-progressive-web-apps/

                • https://www.monsoonconsulting.com/blog/progressive-web-apps-magento






                share|improve this answer












                Progressive means that the application loads along with any relevant data and assets, as a user navigates around your website. This results in an end-user experience with better speed, usability, offline operation and device integration.



                Web means that it’s written in the languages of the web (HTML, CSS, JavaScript). This allows you to create a site that gives more app-like functionality without creating a native app restricted to one platform, such as iOS or Android.



                Application means it installs and runs code on the shopper’s device or computer. Doing this creates more speed and capability than the single-page JavaScript apps of the past.



                PWAs are essentially a hybrid of regular web pages and the mobile app, allowing for mobile app-like experiences for the web.



                Magento is becoming a Progressive Web Application platform. That is to say, Magento is making a suite of tools for building online stores as Progressive Web Applications. These tools will help developers learn PWA techniques, build lightning-fast PWA frontends, and create PWA components and extensions for reuse or sale on the Magento Marketplace. Taken together, Magento is calling this suite of tools the Magento PWA Studio.



                You can check the code structure at https://github.com/magento-research/pwa-studio



                Magento PWA is using GraphQL as an alternative to REST API for PWA.



                For more details on Magento PWA, you can go through the following links:




                • https://magento-research.github.io/pwa-studio/

                • https://community.magento.com/t5/Magento-DevBlog/Introducing-Magento-PWA-Studio/ba-p/74636

                • https://brandastic.com/ideas/magento-progressive-web-apps/

                • https://www.monsoonconsulting.com/blog/progressive-web-apps-magento







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Sep 28 '18 at 6:58









                Anshu Mishra

                5,07542557




                5,07542557












                • so does it mean that magento 2.3 will come with application ?
                  – Aditya Shah
                  Sep 28 '18 at 6:59










                • Yes, PWA will be released with 2.3 but not sure if it is will be bundled with Open Source as well. What I am thinking is that it will be bundled with Commerce and AddOn for Open Source.
                  – Anshu Mishra
                  Sep 28 '18 at 7:04










                • Because if Magento PWA is using GraphQL as an alternative to REST API for PWA. Then REST API is working based on service contact and Interface and Models.. Then service contact methodology will deprecated ?
                  – Aditya Shah
                  Sep 28 '18 at 7:07










                • No, I don't think so. I think Magento will use as them as per the need REST and GraphQL has their own pros and cons. In my view, they will be using and keeping both.
                  – Anshu Mishra
                  Sep 28 '18 at 7:21


















                • so does it mean that magento 2.3 will come with application ?
                  – Aditya Shah
                  Sep 28 '18 at 6:59










                • Yes, PWA will be released with 2.3 but not sure if it is will be bundled with Open Source as well. What I am thinking is that it will be bundled with Commerce and AddOn for Open Source.
                  – Anshu Mishra
                  Sep 28 '18 at 7:04










                • Because if Magento PWA is using GraphQL as an alternative to REST API for PWA. Then REST API is working based on service contact and Interface and Models.. Then service contact methodology will deprecated ?
                  – Aditya Shah
                  Sep 28 '18 at 7:07










                • No, I don't think so. I think Magento will use as them as per the need REST and GraphQL has their own pros and cons. In my view, they will be using and keeping both.
                  – Anshu Mishra
                  Sep 28 '18 at 7:21
















                so does it mean that magento 2.3 will come with application ?
                – Aditya Shah
                Sep 28 '18 at 6:59




                so does it mean that magento 2.3 will come with application ?
                – Aditya Shah
                Sep 28 '18 at 6:59












                Yes, PWA will be released with 2.3 but not sure if it is will be bundled with Open Source as well. What I am thinking is that it will be bundled with Commerce and AddOn for Open Source.
                – Anshu Mishra
                Sep 28 '18 at 7:04




                Yes, PWA will be released with 2.3 but not sure if it is will be bundled with Open Source as well. What I am thinking is that it will be bundled with Commerce and AddOn for Open Source.
                – Anshu Mishra
                Sep 28 '18 at 7:04












                Because if Magento PWA is using GraphQL as an alternative to REST API for PWA. Then REST API is working based on service contact and Interface and Models.. Then service contact methodology will deprecated ?
                – Aditya Shah
                Sep 28 '18 at 7:07




                Because if Magento PWA is using GraphQL as an alternative to REST API for PWA. Then REST API is working based on service contact and Interface and Models.. Then service contact methodology will deprecated ?
                – Aditya Shah
                Sep 28 '18 at 7:07












                No, I don't think so. I think Magento will use as them as per the need REST and GraphQL has their own pros and cons. In my view, they will be using and keeping both.
                – Anshu Mishra
                Sep 28 '18 at 7:21




                No, I don't think so. I think Magento will use as them as per the need REST and GraphQL has their own pros and cons. In my view, they will be using and keeping both.
                – Anshu Mishra
                Sep 28 '18 at 7:21











                3















                • Progressive Web Apps is the middle ground between installable mobile apps and websites. We expect to see more traffic on the internet from mobile devices than from desktops, by 2019. PWAs improve the look and feel of websites to increase conversion.



                PWAs Offer Fast, Frictionless, “App-Like” Experiences Driving More
                Traffic, Higher Conversions and Faster Page Load Times for Magento
                Merchants




                So generally, Magento is transforming its look and feel to increase conversions.
                Read more about it here.





                • PWAs are usually built with JavaScript, CSS, and HTML that have a level of performance and usability that's nearly identical to native apps. PWAs have peculiarities including:




                  1. They work with most (if not all) browsers and devices (mobile and desktop) with a progressive codebase (often component based like in React Js)

                  2. Fit all screens and form factors using a responsive design
                    Leverage service workers to enable offline connectivity (HTTPS required)

                  3. Provide an app-like experience that leverages re-engagement tools, such as push notifications

                  4. Leverage a web app manifest to describe the used resources




                You can read more here.




                • SOAP (Simple Object Access Protocol) and REST (Representational State Transfer) are the commonest web service communication protocols. REST is preferred to SOAP for the most part (explained here). It is therefore logical to see REST APIs being used hand in hand with a new technology like PWAs.






                share|improve this answer





















                • But what is the deal with REST APIs and PWAs ? Because magento already providing REST api for mobile application.
                  – Aditya Shah
                  Sep 27 '18 at 10:06










                • REST api will merge with PWA ?
                  – Aditya Shah
                  Sep 27 '18 at 10:08










                • Yes, PWAs consume both REST and SOAP APIs, but REST is preferred.
                  – Elisha Senoo
                  Sep 27 '18 at 10:13
















                3















                • Progressive Web Apps is the middle ground between installable mobile apps and websites. We expect to see more traffic on the internet from mobile devices than from desktops, by 2019. PWAs improve the look and feel of websites to increase conversion.



                PWAs Offer Fast, Frictionless, “App-Like” Experiences Driving More
                Traffic, Higher Conversions and Faster Page Load Times for Magento
                Merchants




                So generally, Magento is transforming its look and feel to increase conversions.
                Read more about it here.





                • PWAs are usually built with JavaScript, CSS, and HTML that have a level of performance and usability that's nearly identical to native apps. PWAs have peculiarities including:




                  1. They work with most (if not all) browsers and devices (mobile and desktop) with a progressive codebase (often component based like in React Js)

                  2. Fit all screens and form factors using a responsive design
                    Leverage service workers to enable offline connectivity (HTTPS required)

                  3. Provide an app-like experience that leverages re-engagement tools, such as push notifications

                  4. Leverage a web app manifest to describe the used resources




                You can read more here.




                • SOAP (Simple Object Access Protocol) and REST (Representational State Transfer) are the commonest web service communication protocols. REST is preferred to SOAP for the most part (explained here). It is therefore logical to see REST APIs being used hand in hand with a new technology like PWAs.






                share|improve this answer





















                • But what is the deal with REST APIs and PWAs ? Because magento already providing REST api for mobile application.
                  – Aditya Shah
                  Sep 27 '18 at 10:06










                • REST api will merge with PWA ?
                  – Aditya Shah
                  Sep 27 '18 at 10:08










                • Yes, PWAs consume both REST and SOAP APIs, but REST is preferred.
                  – Elisha Senoo
                  Sep 27 '18 at 10:13














                3












                3








                3







                • Progressive Web Apps is the middle ground between installable mobile apps and websites. We expect to see more traffic on the internet from mobile devices than from desktops, by 2019. PWAs improve the look and feel of websites to increase conversion.



                PWAs Offer Fast, Frictionless, “App-Like” Experiences Driving More
                Traffic, Higher Conversions and Faster Page Load Times for Magento
                Merchants




                So generally, Magento is transforming its look and feel to increase conversions.
                Read more about it here.





                • PWAs are usually built with JavaScript, CSS, and HTML that have a level of performance and usability that's nearly identical to native apps. PWAs have peculiarities including:




                  1. They work with most (if not all) browsers and devices (mobile and desktop) with a progressive codebase (often component based like in React Js)

                  2. Fit all screens and form factors using a responsive design
                    Leverage service workers to enable offline connectivity (HTTPS required)

                  3. Provide an app-like experience that leverages re-engagement tools, such as push notifications

                  4. Leverage a web app manifest to describe the used resources




                You can read more here.




                • SOAP (Simple Object Access Protocol) and REST (Representational State Transfer) are the commonest web service communication protocols. REST is preferred to SOAP for the most part (explained here). It is therefore logical to see REST APIs being used hand in hand with a new technology like PWAs.






                share|improve this answer













                • Progressive Web Apps is the middle ground between installable mobile apps and websites. We expect to see more traffic on the internet from mobile devices than from desktops, by 2019. PWAs improve the look and feel of websites to increase conversion.



                PWAs Offer Fast, Frictionless, “App-Like” Experiences Driving More
                Traffic, Higher Conversions and Faster Page Load Times for Magento
                Merchants




                So generally, Magento is transforming its look and feel to increase conversions.
                Read more about it here.





                • PWAs are usually built with JavaScript, CSS, and HTML that have a level of performance and usability that's nearly identical to native apps. PWAs have peculiarities including:




                  1. They work with most (if not all) browsers and devices (mobile and desktop) with a progressive codebase (often component based like in React Js)

                  2. Fit all screens and form factors using a responsive design
                    Leverage service workers to enable offline connectivity (HTTPS required)

                  3. Provide an app-like experience that leverages re-engagement tools, such as push notifications

                  4. Leverage a web app manifest to describe the used resources




                You can read more here.




                • SOAP (Simple Object Access Protocol) and REST (Representational State Transfer) are the commonest web service communication protocols. REST is preferred to SOAP for the most part (explained here). It is therefore logical to see REST APIs being used hand in hand with a new technology like PWAs.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Sep 27 '18 at 10:01









                Elisha Senoo

                167111




                167111












                • But what is the deal with REST APIs and PWAs ? Because magento already providing REST api for mobile application.
                  – Aditya Shah
                  Sep 27 '18 at 10:06










                • REST api will merge with PWA ?
                  – Aditya Shah
                  Sep 27 '18 at 10:08










                • Yes, PWAs consume both REST and SOAP APIs, but REST is preferred.
                  – Elisha Senoo
                  Sep 27 '18 at 10:13


















                • But what is the deal with REST APIs and PWAs ? Because magento already providing REST api for mobile application.
                  – Aditya Shah
                  Sep 27 '18 at 10:06










                • REST api will merge with PWA ?
                  – Aditya Shah
                  Sep 27 '18 at 10:08










                • Yes, PWAs consume both REST and SOAP APIs, but REST is preferred.
                  – Elisha Senoo
                  Sep 27 '18 at 10:13
















                But what is the deal with REST APIs and PWAs ? Because magento already providing REST api for mobile application.
                – Aditya Shah
                Sep 27 '18 at 10:06




                But what is the deal with REST APIs and PWAs ? Because magento already providing REST api for mobile application.
                – Aditya Shah
                Sep 27 '18 at 10:06












                REST api will merge with PWA ?
                – Aditya Shah
                Sep 27 '18 at 10:08




                REST api will merge with PWA ?
                – Aditya Shah
                Sep 27 '18 at 10:08












                Yes, PWAs consume both REST and SOAP APIs, but REST is preferred.
                – Elisha Senoo
                Sep 27 '18 at 10:13




                Yes, PWAs consume both REST and SOAP APIs, but REST is preferred.
                – Elisha Senoo
                Sep 27 '18 at 10:13











                2














                To answer only a part of your question but more Magento 2 specific.



                PWA will be easier to build thanks to future Magento 2.3 release.



                https://www.degdigital.com/insights/magento-2-3/



                Quoted from this article :




                PWA



                A Progressive Web App is an application built to take advantage of modern technology features that “progressively” scales back on devices
                where those features are not available. It also allows for the caching
                of data so the website can be used (partially or fully) in an offline
                mode when internet service is spotty or non-existent. This is
                generally accomplished by writing the front end of the website with a
                modern JavaScript framework/stack that is distinctly separate from the
                back-end application. This JavaScript application can use new(ish)
                browser features to accomplish the aforementioned task.



                Magento recognizes the multiple benefits to this, and in late 2017 announced its efforts in building what it calls the PWA Studio. PWA
                Studio will contain tools to develop and deploy a PWA for Magento’s
                front end. Along with PWA Studio will come a lightweight (not
                feature-full) demo site. The immediate benefits will be a major
                increase in front-end performance and a close to 10X increase in speed
                of onboarding new Magento front-end developers.





                • Related Content: PWAs Are Here and They’re Changing Everything



                GraphQL



                GraphQL is a query language for using APIs. With the rise of the PWA, there is a need to get smaller amounts of data and to make fewer
                API requests. GraphQL’s query language makes this possible by allowing
                the requestor to request a limited subset of attributes to be returned
                about an entity (significantly smaller responses) and allows you to
                chain requests (smaller number of requests).



                Magento currently supports REST and SOAP API requests that use Service Contracts. However, to support GraphQL, Magento is writing an
                entirely new layer that interfaces directly to the Query API. The
                GraphQL implementation will be the underpinnings on how a PWA frontend
                will retrieve the data it needs.







                share|improve this answer




























                  2














                  To answer only a part of your question but more Magento 2 specific.



                  PWA will be easier to build thanks to future Magento 2.3 release.



                  https://www.degdigital.com/insights/magento-2-3/



                  Quoted from this article :




                  PWA



                  A Progressive Web App is an application built to take advantage of modern technology features that “progressively” scales back on devices
                  where those features are not available. It also allows for the caching
                  of data so the website can be used (partially or fully) in an offline
                  mode when internet service is spotty or non-existent. This is
                  generally accomplished by writing the front end of the website with a
                  modern JavaScript framework/stack that is distinctly separate from the
                  back-end application. This JavaScript application can use new(ish)
                  browser features to accomplish the aforementioned task.



                  Magento recognizes the multiple benefits to this, and in late 2017 announced its efforts in building what it calls the PWA Studio. PWA
                  Studio will contain tools to develop and deploy a PWA for Magento’s
                  front end. Along with PWA Studio will come a lightweight (not
                  feature-full) demo site. The immediate benefits will be a major
                  increase in front-end performance and a close to 10X increase in speed
                  of onboarding new Magento front-end developers.





                  • Related Content: PWAs Are Here and They’re Changing Everything



                  GraphQL



                  GraphQL is a query language for using APIs. With the rise of the PWA, there is a need to get smaller amounts of data and to make fewer
                  API requests. GraphQL’s query language makes this possible by allowing
                  the requestor to request a limited subset of attributes to be returned
                  about an entity (significantly smaller responses) and allows you to
                  chain requests (smaller number of requests).



                  Magento currently supports REST and SOAP API requests that use Service Contracts. However, to support GraphQL, Magento is writing an
                  entirely new layer that interfaces directly to the Query API. The
                  GraphQL implementation will be the underpinnings on how a PWA frontend
                  will retrieve the data it needs.







                  share|improve this answer


























                    2












                    2








                    2






                    To answer only a part of your question but more Magento 2 specific.



                    PWA will be easier to build thanks to future Magento 2.3 release.



                    https://www.degdigital.com/insights/magento-2-3/



                    Quoted from this article :




                    PWA



                    A Progressive Web App is an application built to take advantage of modern technology features that “progressively” scales back on devices
                    where those features are not available. It also allows for the caching
                    of data so the website can be used (partially or fully) in an offline
                    mode when internet service is spotty or non-existent. This is
                    generally accomplished by writing the front end of the website with a
                    modern JavaScript framework/stack that is distinctly separate from the
                    back-end application. This JavaScript application can use new(ish)
                    browser features to accomplish the aforementioned task.



                    Magento recognizes the multiple benefits to this, and in late 2017 announced its efforts in building what it calls the PWA Studio. PWA
                    Studio will contain tools to develop and deploy a PWA for Magento’s
                    front end. Along with PWA Studio will come a lightweight (not
                    feature-full) demo site. The immediate benefits will be a major
                    increase in front-end performance and a close to 10X increase in speed
                    of onboarding new Magento front-end developers.





                    • Related Content: PWAs Are Here and They’re Changing Everything



                    GraphQL



                    GraphQL is a query language for using APIs. With the rise of the PWA, there is a need to get smaller amounts of data and to make fewer
                    API requests. GraphQL’s query language makes this possible by allowing
                    the requestor to request a limited subset of attributes to be returned
                    about an entity (significantly smaller responses) and allows you to
                    chain requests (smaller number of requests).



                    Magento currently supports REST and SOAP API requests that use Service Contracts. However, to support GraphQL, Magento is writing an
                    entirely new layer that interfaces directly to the Query API. The
                    GraphQL implementation will be the underpinnings on how a PWA frontend
                    will retrieve the data it needs.







                    share|improve this answer














                    To answer only a part of your question but more Magento 2 specific.



                    PWA will be easier to build thanks to future Magento 2.3 release.



                    https://www.degdigital.com/insights/magento-2-3/



                    Quoted from this article :




                    PWA



                    A Progressive Web App is an application built to take advantage of modern technology features that “progressively” scales back on devices
                    where those features are not available. It also allows for the caching
                    of data so the website can be used (partially or fully) in an offline
                    mode when internet service is spotty or non-existent. This is
                    generally accomplished by writing the front end of the website with a
                    modern JavaScript framework/stack that is distinctly separate from the
                    back-end application. This JavaScript application can use new(ish)
                    browser features to accomplish the aforementioned task.



                    Magento recognizes the multiple benefits to this, and in late 2017 announced its efforts in building what it calls the PWA Studio. PWA
                    Studio will contain tools to develop and deploy a PWA for Magento’s
                    front end. Along with PWA Studio will come a lightweight (not
                    feature-full) demo site. The immediate benefits will be a major
                    increase in front-end performance and a close to 10X increase in speed
                    of onboarding new Magento front-end developers.





                    • Related Content: PWAs Are Here and They’re Changing Everything



                    GraphQL



                    GraphQL is a query language for using APIs. With the rise of the PWA, there is a need to get smaller amounts of data and to make fewer
                    API requests. GraphQL’s query language makes this possible by allowing
                    the requestor to request a limited subset of attributes to be returned
                    about an entity (significantly smaller responses) and allows you to
                    chain requests (smaller number of requests).



                    Magento currently supports REST and SOAP API requests that use Service Contracts. However, to support GraphQL, Magento is writing an
                    entirely new layer that interfaces directly to the Query API. The
                    GraphQL implementation will be the underpinnings on how a PWA frontend
                    will retrieve the data it needs.








                    share|improve this answer














                    share|improve this answer



                    share|improve this answer








                    edited Oct 12 '18 at 12:47









                    vmp

                    14111




                    14111










                    answered Sep 27 '18 at 13:57









                    Franck Garnier

                    1,961825




                    1,961825























                        1














                        Progressive Web Application uses web browser capabilities and provides a mobile app like experience to the users.



                        It develops from a browser tab and makes pages more immersive with a low friction user experience. It is a web technology of making a website which acts and feels like an application.



                        A user can launch Progressive Web Application same like a native application regardless of browser choice.



                        For demo testing, you can visit on this link : Click Here






                        share|improve this answer


























                          1














                          Progressive Web Application uses web browser capabilities and provides a mobile app like experience to the users.



                          It develops from a browser tab and makes pages more immersive with a low friction user experience. It is a web technology of making a website which acts and feels like an application.



                          A user can launch Progressive Web Application same like a native application regardless of browser choice.



                          For demo testing, you can visit on this link : Click Here






                          share|improve this answer
























                            1












                            1








                            1






                            Progressive Web Application uses web browser capabilities and provides a mobile app like experience to the users.



                            It develops from a browser tab and makes pages more immersive with a low friction user experience. It is a web technology of making a website which acts and feels like an application.



                            A user can launch Progressive Web Application same like a native application regardless of browser choice.



                            For demo testing, you can visit on this link : Click Here






                            share|improve this answer












                            Progressive Web Application uses web browser capabilities and provides a mobile app like experience to the users.



                            It develops from a browser tab and makes pages more immersive with a low friction user experience. It is a web technology of making a website which acts and feels like an application.



                            A user can launch Progressive Web Application same like a native application regardless of browser choice.



                            For demo testing, you can visit on this link : Click Here







                            share|improve this answer












                            share|improve this answer



                            share|improve this answer










                            answered Sep 27 '18 at 10:07









                            Rohan Hapani

                            5,83721662




                            5,83721662























                                0














                                It's a google product launched during I/O 2017 I/O 2017: https://www.youtube.com/watch?time_continue=14&v=cmGr0RszHc8



                                It is a website based on HTML.



                                It stores cache in a device so one can use it offline too.



                                However, the first time it is slow which will be up during the second visit.



                                It is getting updated when the device gets the internet so don't need to update new thing like APPs.



                                It triggers all emails to the server when the device gets the internet if someone posts the something offline.



                                Eventually, no need to built iphone / android app.



                                Limitation
                                It only support HTML file. So the device should support HTML.



                                There is no store to search PWA application.

                                Login with FB or else will not be worked.

                                Not supported in IE.





                                share|improve this answer


























                                  0














                                  It's a google product launched during I/O 2017 I/O 2017: https://www.youtube.com/watch?time_continue=14&v=cmGr0RszHc8



                                  It is a website based on HTML.



                                  It stores cache in a device so one can use it offline too.



                                  However, the first time it is slow which will be up during the second visit.



                                  It is getting updated when the device gets the internet so don't need to update new thing like APPs.



                                  It triggers all emails to the server when the device gets the internet if someone posts the something offline.



                                  Eventually, no need to built iphone / android app.



                                  Limitation
                                  It only support HTML file. So the device should support HTML.



                                  There is no store to search PWA application.

                                  Login with FB or else will not be worked.

                                  Not supported in IE.





                                  share|improve this answer
























                                    0












                                    0








                                    0






                                    It's a google product launched during I/O 2017 I/O 2017: https://www.youtube.com/watch?time_continue=14&v=cmGr0RszHc8



                                    It is a website based on HTML.



                                    It stores cache in a device so one can use it offline too.



                                    However, the first time it is slow which will be up during the second visit.



                                    It is getting updated when the device gets the internet so don't need to update new thing like APPs.



                                    It triggers all emails to the server when the device gets the internet if someone posts the something offline.



                                    Eventually, no need to built iphone / android app.



                                    Limitation
                                    It only support HTML file. So the device should support HTML.



                                    There is no store to search PWA application.

                                    Login with FB or else will not be worked.

                                    Not supported in IE.





                                    share|improve this answer












                                    It's a google product launched during I/O 2017 I/O 2017: https://www.youtube.com/watch?time_continue=14&v=cmGr0RszHc8



                                    It is a website based on HTML.



                                    It stores cache in a device so one can use it offline too.



                                    However, the first time it is slow which will be up during the second visit.



                                    It is getting updated when the device gets the internet so don't need to update new thing like APPs.



                                    It triggers all emails to the server when the device gets the internet if someone posts the something offline.



                                    Eventually, no need to built iphone / android app.



                                    Limitation
                                    It only support HTML file. So the device should support HTML.



                                    There is no store to search PWA application.

                                    Login with FB or else will not be worked.

                                    Not supported in IE.






                                    share|improve this answer












                                    share|improve this answer



                                    share|improve this answer










                                    answered Jan 1 at 10:33









                                    zuber bandi

                                    493




                                    493






























                                        draft saved

                                        draft discarded




















































                                        Thanks for contributing an answer to Magento Stack Exchange!


                                        • Please be sure to answer the question. Provide details and share your research!

                                        But avoid



                                        • Asking for help, clarification, or responding to other answers.

                                        • Making statements based on opinion; back them up with references or personal experience.


                                        To learn more, see our tips on writing great answers.





                                        Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


                                        Please pay close attention to the following guidance:


                                        • Please be sure to answer the question. Provide details and share your research!

                                        But avoid



                                        • Asking for help, clarification, or responding to other answers.

                                        • Making statements based on opinion; back them up with references or personal experience.


                                        To learn more, see our tips on writing great answers.




                                        draft saved


                                        draft discarded














                                        StackExchange.ready(
                                        function () {
                                        StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f244063%2fwhat-is-progressive-web-apps-or-pwas-in-magento-2%23new-answer', 'question_page');
                                        }
                                        );

                                        Post as a guest















                                        Required, but never shown





















































                                        Required, but never shown














                                        Required, but never shown












                                        Required, but never shown







                                        Required, but never shown

































                                        Required, but never shown














                                        Required, but never shown












                                        Required, but never shown







                                        Required, but never shown







                                        Popular posts from this blog

                                        An IMO inspired problem

                                        Management

                                        Has there ever been an instance of an active nuclear power plant within or near a war zone?