Last month, three of Signal's front-end developers (including myself) headed off to Paris, where we attended ReactEurope for the first time.
We’ve shared some of our stand-out talks from both days below which will be of particular interest to other front-end developers.
What is ReactEurope?
As suggested by its name, ReactEurope focuses on React and React Native.
The conference takes place over two days. Fuelled by frequent coffee breaks, speakers from all over the industry share their experience and expertise on a range of topics, from the history and future of the technology, to accessibility and performance.
Day 1 Standout talks
Day 1 kicked off with registration, where we got some fantastic swag and your typical French breakfast (not a black pudding in sight).
All the presenters did a great job but these are the talks that stood out:
Joshua Comeau - Saving the Web, 16ms at a Time
Joshua talked about animation performance differences between mobile and native apps. Mobile apps haven’t taken over native app in terms of usage.
He made the point that user experience and animations feel more polished in mobile and native apps which makes it hard for web apps to compete. He gave us a clear technical explanation on how the browser renders the page, and techniques for bringing better performing animations to the browser. He had a lovely example of how he created Twitter’s ‘Like Tweet’ animation, and how animations are affected when the main thread is being used (they slow down).
He then went into detail about a technique which was common a couple of years ago, using sprites to show the 'Like’ animation. When profiled, these turned out to perform much faster due to the fact they are not rendered on the main thread.
Paul Armstrong - Move fast with confidence
Paul talked about the techniques and processes that the teams at Twitter have incorporated, which gave us some useful new ideas and tools to use.
He suggested using Husky, which makes using Git hooks simple, by adding pre-commit checks and linting and bailing out of the commit if it detects any issues. Another suggested use for Husky he mentioned was automating the installation of modules on checkout, merge or rebase. Paul also talked about performance budgets, as well as type safety using flow/typescript to help catch JS errors before they hit production. And he demoed his side project Build Tracker.
DJ Fresh - Coders are the new Rock Stars
DJ Fresh (Daniel Stein) gave an inspiring talk about his journey from Rockstar DJ to developer. He spoke about how music has hidden codes which reveal sounds that are universally appreciated, breaking cultural and language barriers.
This inspired him to investigate whether machine learning can assist in finding these patterns. We’d recommend watching this one in particular if you want to get a real feel for Dan’s passion.
Day 2 standout talks
Ives van Hoorne - A year of CodeSandbox
Ives gave an update on what has happened over the past year with CodeSandbox, giving us an interesting insight into its growth. At the start of the year Ives started an internship at Facebook but continued to work on his CodeSandbox project in the evenings and between lectures.
During his internship, CodeSandbox released its new Themes functionality. Ives described in detail how they managed to do this, and talked about other new features that were introduced (e.g. VSCode extensions), how they were implemented and the struggles they had. He finished up with what the future of the CodeSandbox and the team looks like.
Lee Byron - The future of the web
Lee gave a brilliant talk on the history of the web from the perspective of a developer in 1999. He gave an enthusiastic look at where development started, from static pages to dynamic pages/applications. After a short history of PHP/LAMP he then jumped ‘back to the future’ to 2019.
He shared some stats that PHP usage in 2019 is around 80% and WordPress is powering around 30% of websites. Lee then moved on to talk about how and why Facebook engineers came to create React, Flux, Redux, GraphQL and Jest through Abstraction, syntax and better mental models. And he described how these tools developed out of some interesting situations that happened during his time with the Facebook team.
Tim Neutkins - On Next.js
Tim gave us an overview on building an app and how to make it scale with Next.js. He started with the basics around creating a page/route, and then made some exciting announcements about what was coming ‘next’ to the framework, including dynamic page routing.
He moved onto talking about how Next.js manages to do Server-side rendering or how you can turn off SSR, which is being introduced as new function useMounted() that will render only on the client-side.
He also discussed how Next.js can help developers create hybrid apps, plus a few other and strategies developers might want to use, including the use of AMP.
Other announcements from Tim included:
- API endpoints
- TypeScript support - all that is required is a change in file ext
- Next.js Core has been written in TypeScript
- Improvements in how pages are built, components with no changes won’t rebuild the whole project.
Our overall impression of the event
We had a great time at ReactEurope and took reassurance that we have made the right choice in using React and React Native both internally at Signal and for clients.
And we even got a chance to explore Paris before we headed back to Scotland!
All talks can be found at ReactEurope's YouTube channel