Small Improvements and React!?
At Small Improvements we decided in early 2016 to shift towards React instead of working to migrate to Angular 2. Internally a lot of our developers had had great experiences with React and its ecosystem in their side projects. We wanted to keep up with evolving technologies rather than being stuck with Angular 1. Even though we already have a large frontend codebase in Angular, in the past 6 months we’ve also been able to implement new components and pages in React. We are confident that it was the right choice for the future. We also experimented with Relay + GraphQL, but it felt too premature to use these technologies at this point.
React Europe covered among other things two days of presentations and a one day hackathon. We attended both! The conference itself was very well organized: it was a good decision to have a single track of talks, and there was a good balance between presentations and breaks. The food served during breaks was amazing! The conference was mostly attended by other frontend, backend and mobile developers, and the atmosphere was very friendly. We were a bit disappointed at the lack of diversity, but socializing with others still proved to be very insightful.
The talks themselves didn’t bring up novel technologies, but they were more of a refinement of the React ecosystem itself. It was more about going in depth for certain topics, showing clear trends for the future, challenges to solve, and extensions of the ecosystem.
In the conference hall there were many screens and projectors so you could follow the presentations even from the back of the room. Overall, the quality of the talks was great, even though there were several sponsor introductions in between. We were also surprised by the quality of the lightning talks! We’d be excited to see more non Facebook speakers in the future.
Presentations are already online!
The success of Redux
For quite some time Redux has seemed to be the clear successor of the flux implementations. We use it ourselves at Small Improvements and we are confident to move our custom Angular client side cache with unidirectional data flow towards the direction of using the Redux store. There weren’t a lot of open questions about Redux during that conference, instead the focus was on the evolving ecosystem around Redux (redux-*).
Dan Abramov had a great introduction talk for the conference about the journey of Redux – the past, present and future. His opinion on what makes Redux successful: it’s not about the features or APIs that come with Redux, it’s about the constraints and contracts that define the API and features very well. People can easily adapt these to contribute to the Redux ecosystem itself. He ends his talk with the release of his second Redux course.
Trends in the React Ecosystem
One crucial element for modern mobile apps is animation. Performance limitations during animations make it very easy to differentiate between native and webview apps. Krzysztof Magiera addressed this topic in his talk React Native 60FPS – Improving React Native.
You can see emerging patterns for React Native apps in a real world application: Brent Vatne presents their approach of implementing a list with a great UX in React Native for Android.
It was also clear that there’s a great deal of interest in React Native generally. In a retroperspective Bonnie Eisenman speaks about the last year React Native since its release and the challenges ahead.
Judging by the number of talks and questions during the Q&A session, GraphQL is the second big trend in the ecosystem. Both the talks and Q&A session show that there are a lot of open questions and challenges.
Similar to React Native, the presentations show upcoming challenges and emerging patterns that have evolved during its internal use at Facebook. Since GraphQL can be consumed by any client, there was a talk about using GraphQL in native mobile apps as well.
It is interesting that no one presented on Relay.
In addition to the presentations on GraphQL, Jafar Husain spoke about Falcor: One Model Everywhere as an alternative to its competitor. He showed the advantages and disadvantages of using Falcor over GraphQL, and advised weighing the trade-offs before committing to one or the other.
Aside from these big trends, there were several other amazing talks which should be mentioned.
On the Spectrum of Abstraction by Cheng Lou was one of the conference favorites. It is not about React but more about keeping our mental framework simple by avoiding adding levels of abstraction.
It was also amusing to watch Andrew Clark – Recomposing your React application afterwards. He spoke about the usage of Higher Order Components (HOC), his library recompose and new paths of composing components into each other in a quite elegant way.
Jeff Morrison explains in A Deepdive Into Flow how the static typing system works. He offers valuable insight into how it improves the quality of code at a large scale.
Finally, we’d like to mention the talk about Being Successful at Open Source. The people behind a framework or library – whether it be React, Angular, or Ember – all contribute successfully to open source projects. But how do you engage developers in a new open source project? Christopher Chedeau shows which steps were helpful in building an open source community around a new project at Facebook in the last 3 years.
Thanks React Europe
Overall, one can see that the conference was well worth attending! If you couldn’t be there, we recommend watching some of the mentioned talks in this post. Thank you React Europe for making a great conference possible!