It’s been nearly five years to the day since Reaction first launched into the open source community. And it’s been an action-packed five years, with more than 10,000 commits, dozens of releases, and over 7,700 stars for our main GitHub repository.
Today marks another big milestone in the growth of Reaction Commerce: We’re releasing a preview of Reaction v2.0.0, the second major release of our open source commerce software.
Version 2.0.0 moves Reaction forward in a number of ways. Most notably, we’re getting more modular with this release: Our commerce platform is no longer bound to a single, monolithic application. What does that mean to our users and clients? Probably the easiest way to explain is to tell you about the goals we’ve been working toward.
Enable true headless commerce.
We’ve done this by adding a GraphQL API as a new layer on top of our existing Meteor application and architecture, fully abstracting the storefront user interface from the Meteor server for the first time. This gives developers more flexibility to change business logic without disrupting the frontend user experience, and vice versa. It also improves application performance by eliminating some of the sluggishness that some users experienced with our “classic” UI built on Meteor, and makes Meteor less central to our overall stack.
Deliver a reference headless commerce storefront.
This release includes our new Next.js Starter Kit. It has all the components needed to build and run a standard ecommerce storefront, connecting exclusively to the Reaction API via GraphQL. This new client is built with Next.js and provides server-side rendering (SSR) out of the box, as well as Segment-compatible analytics event tracking. From now on, this will be the recommended way to build a storefront UI on Reaction.
Example screens from our reference storefront, including a category page, checkout, and a mobile view
- Share our Design System
One of the major advantages to a more modular approach is how easy it is for developers to create and update unique interfaces and experiences for their shoppers and users. Reaction 2.0 includes an early “alpha” release of our own Reaction Design System, a set of commerce-focused React UI components that includes basic elements such as buttons and forms, as well as product, cart, and checkout components. This design system will continue to expand and evolve, but at this early stage we wanted to give our users a peek under the hood at our best practices for UI design and implementation. These components can be used as is, or customized to your heart’s content, to create your own cohesive storefront, admin panel, or other UI elements.
Reaction Design System documentation
This release achieves all of these goals at an MVP (minimum viable product) level. It includes enhancements to Reaction’s scalability and performance, for both developers and end users, along with better security thanks to the addition of Hydra (an open source OAuth2 and OpenID Connect authentication service). Our updated architecture also sets the stage for us to further abstract Meteor, and to introduce GraphQL into the operator/dashboard experience.
We’re considering v2.0.0 a “release preview” for now, since it’s not yet at full feature parity with version 1.x. The GraphQL coverage is not complete—it doesn’t yet support customer account profiles, customer order history, or coupons and discounts, for example—but will continue to expand in the weeks to come.
Above all, the Reaction 2.0.0 preview is the beginning of a major leap toward the commerce experience we’ve always envisioned: a highly modular commerce platform that uses real-time event data to power dynamic merchandising, live monitoring, and personalized shopping experiences in real time, from a single page load.
See for yourself
Like our previous releases, Reaction 2.0 is GPL licensed, while our Next.js Starter Kit is licensed under the Apache License, Version 2.0; both are freely available to download, use, and modify. Take a look at the release notes for more details on what’s included. If you’re new to Reaction, our documentation site is a great place to start. Thanks for reading and supporting Reaction!