Attending React Europe 2015

I honestly don’t think that there is a software developer, who is working on a front-end application, and is doing a good job, that has not heard of ReactJS. Since Facebook open-sourced this UI library two years ago, the effect that the framework, and the community which has formed around it, and contributed to its rise, has had on the development of client side applications has been incredible. As anybody that has used it for a while would tell you, React is not just a library, it’s a way of thinking, and structuring your application, that provides simple abstractions that take away the complexity in a lot of areas, by using declarative functional style in defining how your UI should look in different points of time, and what is the current, and the next state of the app, and then just letting the library do its magic.

In January this year, in Facebook HQ, the first ReactJS Conference took place. There was massive interest in the developer community, and the conference was a huge success. At the conference, Facebook open-sourced React Native, a way of building native apps with web technologies, combining native features with the great advantages of building your UI with standard web technologies. At the conference, Facebook also gave an insight into its work in progress GraphQL query language for data communication between the app and the server side.

In July this year, came the turn for the React community to gather around in Paris, for a week, for the second React conference, this time called React-Europe. Having watched all the videos of the USA conference in January, and having attended this one in Paris, I can honestly say that the conference has been a massive success, and has surpassed everyone’s expectations, organizers and attendees. The sheer quality, diversity, and technical skills of the speakers was absolutely incredible. The organization of the conference, despite the 50+ degrees Celsius high temperatures in Paris, was flawless, and on the highest level.

Shout out to the wonderful organizers, @patcito, @vjeux, and many others, for having a whole week organized, to the minute, and providing a great experience for everyone attending React Europe. And a big Thanks to Netcetera, the company I work for, for giving me and two colleagues of mine, the opportunity to visit the conference.

First up, was the two day workshop with the amazing Ryan Florence and Michael Jackson, the creators of React Router. Unfortunately, I did not had the pleasure of attending this workshop, but from what I saw on the conference, having both of them presenting at the conference, and having talked with some of the participants during the breaks, I can assure you that it must have been a great experience.

Second in line was the React Hackathon, which took place at the beautiful Mozilla offices in Paris. Having arrived in Paris the day before, and already spent 6–7 hours sightseeing, I was already in awe with the architectural beauty of Paris. But what I had yet to be amazed by, was the, what I can only assume was the conference room in the Mozilla offices.

Here began my journey at React Europe. The goal of the hackathon was to build an app, either by using data from the meetup API or by using the TouchStoneJS framework.

Our team took the first challenge, and in the 5–6 hours on July 1st, we built a simple app, which queried the Meetup API for all available meetups in a user entered location, and then for each member attending the meetup, the API was queried for its location, and those locations were shown on a map, giving an overview of the origin of the attendants of those meetups. At the end, each team was given a chance to present their app, if they wanted to. The presentations went by in a great atmosphere, with a lot of jokes, applauses, very cool discussions, and awesome ideas that had been turned into a sample app in a matter of hours.

As we would find out at the conference one of the following days, the winning teams, were the ones with the most awesome apps, an implementation of the timeless game “Snake” with a clever twist, of the pieces that the snake gathers being the locations of worldwide React Meetups, and a comic reading app, which fully utilized the capabilities of the TouchStoneJS framework.

The thing that left me the biggest impression was the hospitality of the Mozilla employees, which took care of us for the whole day, and made sure we had a blast while coding, exchanging ideas and socializing. All in all, a great day, and a very rewarding confirmation of the decision me and my colleagues made a while ago, to participate in the hackathon.

Next on the roadmap for the week, was the conference. It was held at the Espace Charenton venue, which although pretty huge, was packed. Around 750–800 people attended the conference, and they were at the right place for a reason. Having seen all of the talks from the conference in January, I was expecting high quality speakers, and great topics to discuss. But what followed in the next two days, was extraordinary, surpassing my expectations.

During the two days, there was one track, with ten half hour talks per day, with enough breaks between them, for the attendees to have a conversation with the speakers and to socialize with each other, exchange thoughts, experiences and advice on building apps with React.

First off was the keynote from Christopher Chedeau, one of the main contributors of React and React Native. He gave an overview of the React ecosystem, and modern bleeding edge front end development overall. The stuff he talked about gave a great introduction into all of the topics of the following speakers for the next two days. One of his main points, was that in order to produce great UX, first you must have great DX (Developers Experience), shortening and making the developing cycle better, simpler, easier and more productive, avoiding context switches due to re-compiling and re-deploying the app.

He runs an awesome blog, with great explanations, tutorials and general concepts to think about, which is definitely worth taking a look at.

Next was Michael Chan with his amazingly beautiful presentation about css, inline styles and the general best practices around the styles in our app.

The day continued with the talks of Spencer Ahrens, who basically laid out the whole animation module in React Native, and exhibited a couple of stunningly beautiful examples.

IMHO the conference had its boiling point during Ryan Florences’ talk on how you can, and should leverage React on existing projects, starting from the smallest parts, and going up the tree, until you make your app awesome again. His energy, and the way he talked about React, charmed the room, for his, and all subsequent talks.

Hearing that you will use React on your project VS the management hearing that you need time to rewrite already finished and working code

At one point in his presentation, I don’t think there was a man or a woman in the room that was not laughing at his very brutally real and honest analogies to real world development situations.

Even though his presentation was awesome, and I had tears in my eyes after it, some from laughing, some from crying from hearing some things that were too familiar, my favorite talks of the conference would have to be Dan Abramovs’ — “Live React: Hot Reloading with Time Travel”, and Sebastian McKenzies — “Improving Your Workflow With Code Transformation”.

Both of those talks, were just on a higher level than everything else I saw on the conference.

The first one, exhibited a couple of levels of ovations from the crowd, through live-coding his Redux framework, based on the flux architecture, then introducing Hot Reloading, a concept of hot swapping javascript code, by wrapping the React components lifecycle methods, into a same API proxy, that loads into the browser on initial load, and then when you make a change in the code, just points to the newest version of your component. This enables storing of application state up to some point, such as before click of a button, or after that, which helped Dan to write some cool tools for development, one of which he calls the monitor, that enables you to jump between states and debug like 10x better and faster.

The second one, explained the cool problems Sebastian solves each day while working on Babel (formerly 6to5) the these days de-facto standard transpiler for ES6 to ES5. He started by saying how he started with the project with the intention of learning about compilers, and then he got hooked to it. By seeing how young this guy was, I had no other emotion but admiration for this genius.

Cheng Lous’ talk on the past, the present and the future of animation, and the place React can potentially take in this was really inspiring, due to the hardcore approach he took into working on react-tween-state, react-state-stream, react-motion. Another thing which amazed me in his talk, were his carefully made demos that blew the crowds minds over and over.

One of the most important talks, for me, and our team from our company was Jed Watsons’ talk about his experience in building the TouchStoneJS framework for hybrid apps using React. He and his team at Thinkmill have created and open-sourced some really nice stuff. If you have worked on a hybrid app using React, you have probably heard about classnames or, react-tappable and many others widely popular modules in the community.

The other talks were also very interesting, especially the ones about GraphQL which now has a public specification, and a javascript implementation, so it’s basically a thing now. There were a couple of informative/based on experience talks, about Flux implementations, and client/server rendering combination implementations. The one that left me the biggest impression was Sebastian Markbåges’ overview on fundamental concepts of thinking for React rendering targets, which when questioned, leave a whole new area unexplored and open for discussion. Last but not least, was Michael Jacksons talk on the development of React Router and where it is going in the next version.

At the end of the second day of the conference, there was a panel QA discussion with the facebook guys working on all of the frameworks, on which it was said that the next version of React will have some changes, mostly separation of modules in order to enable easier performance improvements (changelog to the newest React 0.14 beta => here). There were questions about the further development of Immutable.js, and other open-sourced frameworks, which were mostly answered with the notion that the updates are coming, but with no specific timeline. The same goes for React Native for android.

All in all a wonderful experience and a very well organized conference. Since this opinion is shared between most (if not all) of the attendees, the next React Europe conference is already scheduled for june 2nd and 3rd, 2016. See you next year, one month earlier.

You can find all of the talks, lightning talks, interviews, and the panel discussions at the #ReactEurope youtube channel. You can also search for tweets with the official #ReactEurope hashtag.