Created and open-sourced by Facebook, React has attracted a productive community of engineers who tend to rethink the old ways of building front-end and iterate over newer concepts. At Zalando, we’ve used React to create our Shop the Look feature and some internal tools, and are considering whether to adopt it more broadly across our organization. To help ourselves reach a more informed decision, a few of us attended ReactEurope: a two-day (and Zalando-sponsored) conference held in Paris last week.
With an agenda heavy on presentations by Facebook's React core team members, ReactEurope gave us a nice overview of the ideas that have evolved in the React community. Some of these topics were quite controversial: For example, Michael Chan, Web Developer at Ministry Centered Technologies, presented on using Inline Styles in React components instead of CSS. Others were hilarious: e.g. Productive Mobile’s Mikhail Davydov’s how-to on building Text UI in React, in which he basically recreated Midnight Commander in the browser and proxied it into the terminal.
Many of the presenters used the new term “Developer Experience” (DX), which applies user experience ideas to software engineering. Dan Abramov, a front-end engineer at Stampsy, brought React hot module reloading to the next level with his iteration over the Flux pattern. Called Redux, Abramov’s project applies a functional approach to stores from the Flux pattern and turns them into reducers. The live demo was really awesome, so I advise you to check out the video. And speaking of demos, the one by React core member Cheng Lou was also impressive: He proposed a way of creating seamless animations in React that basically deprecates ReactCSSTransitionGroup.
Over several talks, the React core team debuted a reference implementation of GraphQL—a language for describing data requirements in a declarative way—and showed how a GraphQL server can be built on top of existing Rest APIs. They also demonstrated Relay (soon to be open sourced), which brings the ideas behind GraphQL into React components—allowing them to specify what data is needed from the server. Can’t wait to try them out!
ReactEurope was a great opportunity to talk to fellow engineers and the speakers. Choppy WiFi couldn’t withstand the onslaught of the crowd, and this encouraged people to spend more time talking with each other. I, for one, had a chance to talk with Hootsuite engineer Ovidiu Cherecheș, who created Cosmos — a tool to develop encapsulated React components, and which can be used together with image regression tests. My team and I are currently experimenting with Cosmos, so getting tips from Ovidiu was pretty handy.
A side note: Testing as a topic wasn’t really covered at ReactEurope. (Maybe in 2016?) But this didn’t detract from what was a great conference. Looking forward to the next one!