Along with roughly one hundred attendees I joined the first Reacticon conference in Eindhoven, The Netherlands. Organized by Magento Master and Community Wizard Jisse Reitsma, this conference’s aim was to give an overview of the different approaches to Progressive Web Apps (PWA) with Magento and to bring together current innovation drivers and developers.
Amongst others, representatives of Magento, Deity, Vue Storefront and FrontCommerce were on stage to give insights to their solutions.
After an atmospheric and almost interstellar lead-in to his opening keynote, Jisse shared his vision about this conference as an entropic event. With no strict agenda, the first speakers were left with the ability to manage the (at first quite chaotic) state of the conference depending on the audience‘s interactions.
James Zetlen takes the stage
Magento Frontend Lead James Zetlen himself gave an almost perfect impression of this „non-concept“ by starting off with severe difficulties getting his presentation to work with the stage tech, accompanied by some quite improvised speaking about mystic creatures resembling the ideology behind Magentos PWA approach. Whilst observing him stage-squirrelling and using VIM as a speaker tool (kudos for this move) I personally found it hard to trace his speech down to an essence I could take away.
— Andreas von Studnitz (@avstudnitz) 16. März 2018
Luckily, he came up with such an essence by himself afterwards:
The hidden message of my #Reacticon talk is that your conference presentation about fault tolerant software should probably be fault tolerant.
— James Zetlen (@JamesZetlen) 16. März 2018
Showing his great sense of humor he also put my resumé in the right context. It perfectly resembled the actual state of the eco system, where almost everyone has to orientate himself, play around, possibly find solutions and pathways which will eventually lead to dead-ends or maybe (hopefully) to success.
More Talks at Reacticon
The following talks more and more started to shape an image of which problems await to be solved, which concepts and solutions we have right now and what we may or may not expect from them in the near future. Without going into too much detail here, this roughly outlines the current state:
General Magento 2 performance
Shane Osbourne gave an amazing talk without directly referring to PWA. He pointed the audience to the fact that analytics and page speed tests seemingly may be fine with page rendering speed, but the user won‘t. He introduced the term TTFMMRI which translates to „Time to first meaningful Magento related (user) interaction“. The latter may be as high as 19 seconds on average 3G connections! He provided great inspiration on what you can do right now to optimize the performance of existing Magento 2 shops by using modern frontend techniques in co-existence with the existing layout system. It was astonishing for me to see that this IS possible. A couple of open source tools designed to help with the task at hand will be released within this year.
Magento PWA Studio
This consists more or less of a build tool and a collection of React components organized within the Peregrine library. When using the (optional) PWA flow instead of the classic frontend, there will (at first) be no such thing as a „base“ theme anymore. Instead, there will be kind of a „Reference Theme“ (with a later release) showing best practices and model implementations of the provided components.
Thanks Fabian! FYI, we are still planning to build a reference PWA theme called Venia for Magento but not for this first release aside from a few examples. As you heard at @reacticon, we’re 100% focused on developer experience. 👨💻🎨
— Eric Erway (@ericerway) 20. März 2018
Currently, it is still hard to say more about the project’s state. Personally, I doubt that the implementation of a minimal viable store, including basic catalog, CMS, checkout and account features can be done within this year.
Based on React components and a dedicated node.js middleware with some server side rendering, the Deity project originates from actual project implementations and, thus, is more or less production ready by now. Deity offers the possibility to connect to basically any platform as a data provider, as long as a suitable API exists. There are production instances running (like https://therake.com/) and plenty in the pipeline. Still, there is some work to do before Deity can get open sourced. This mainly means refactoring and restructuring the code base for extensibility and better developer experience. There is no release date by now, but I am quite certain that you will be able to use it for your project quite significantly before Magento releases its PWA Studio.
In contrast to Deity, this solution builds upon the VUE.js framework. According to a statement of a representative of Vue Storefront during the Q&A session, it is ready for production and there is one project that has just been launched with Vue Storefront.
Again React components are the building blocks for this solution, which is production ready according to the statement of one of the team members. There are some stores running in production and some more in the pipeline. Contrary to the before mentioned solutions, FrontCommerce is a commercial solution that won‘t be open source.
Building the future together
We are at a critical and very exciting point right now. I have the feeling PWA and its surrounding technologies will be the next big thing. It may have even more impact (especially on commerce) than the responsive/mobile first approach a couple of years ago. By now we are still like punching holes in the dark, but critical mass will be reached soon. What we do now and how we collaborate forms the foundation of our work tomorrow. I think the community is sensing this and there is an overall excitement and enthusiasm about the upcoming changes and challenges. The Q&A and panel discussion with all conference speakers and especially the maintainers of current solutions reflected this greatly.
Will the frontend flourish again?
It is not a secret that I had a lot of criticism for the way the Magento 2 Frontend was engineered. I spoke about it at Meet Magento Germany 2017 and a couple of local occasions. And not being alone with my view within the community I have to admit that I was also quite skeptic about what Magento will finally deliver with its PWA Studio. The very sparse insights you could get in advance to the conference were not sufficient to make those concerns disappear. But there were a few encouraging signs at Reacticon that made me cautiously optimistic about the possible outcome.
My biggest relief were some words of Magento Frontend Architect Andrew Levine during his talk about the upcoming theming concepts of PWA studio. He emphasized the Magento frontend team’s awareness of critical methodical issues that led to the overly complex and not very performant system we have right now. According to him, the current development team is not willing to allow the creation of any more Magento related layers of logic or abstraction around every third party technology from ever happening again. Examples of the so called NIH (Not Invented Here) Syndrome are the famous @magento-import directive for the LESS preprocessing and its general heavy ties to the core system, the attempt to write and maintain an own CSS library/framework or the Magento specific knockout.js implementation.
This may sound trivial but it is a huge take-away for me as it implies a distinct reflection and learning of the past 3-4 years. The great personal discussions I had with James Zetlen, Ben Marks and Andrew Levine supported this impression. For the first time in the last two years, I was able to give very positive feedback concerning my feelings about the frontend directly to Magento representatives. Let’s hope that by the time Reacticon 2 takes place, my optimistic views persists.
Reacticon 2 – The Sequel
Since Reacticon was sold out weeks before the event happened, organiser Jisse Reitsma decided to have a second edition. It may take place on September 28, 2018.
Let’s say September 28th, 2018? Who’s in?
— Reacticon (@reacticon) March 19, 2018
Autor: Sandro Wagner
As a trained media designer with a strong focus on frontend development and CMS integration, Sandro Wagner has worked for different leading web agencies and clients, both national and international.
At integer_net, he develops frontend designs for Magento stores, holding the corresponding Magento certificate.