5 lessons learned at the world’s biggest React conference

Inspire
Inspire
Apr 17, 2018 · 6 min read

Last Friday, April 13th, a few Inspire developers attended the biggest React conference in the world: React Amsterdam. Together with 1200 frontend and full stack developers from across the globe, they gathered in the tech heart of Europe for an event with over 25 speakers. Developer Jake tells you five things he learned on a day filled with great talks, lots of coffee and of course some beers.

1. Reactive Programming

There will always be a new JavaScript framework to learn. Technology will continue to evolve and change, and developers will continue to rewrite applications. Tracy Lee talked about reactive programming, which can enable you to just copy-paste most of your code from framework to framework.

In her talk, Tracy showed why reactive programming can be a more efficient way to code and that it has been adopted by industry leaders such as Netflix, Slack, Microsoft, and Facebook as the new standard for developing applications. Seems very promising, especially libraries like RxJS that help developers to deliver complex features quicker with less, more maintainable code. The more developers who are going that adopt this concept, the better. As Tracy mentioned in her blog post:

“The more people understand reactive programming, the more productive we as one modern web will all be. The only barrier to adoption is not understanding the paradigm and the language around it.”

Seems like it’s not such a bad idea to invest some time in learning reactive programming and RxJS could be a great library to get you started.

Watch the full talk here.

2. React Navigation

When implementing navigation inside your React Native app you can either use a library that wraps the native navigation APIs for the platform or a re-implementation of those APIs using the same React Native primitives that you use throughout your app. Brent Vatne, who works at Expo, gave a nice talk about an open source project he works on: React Navigation.

Providing us with a clear overview of how you can use different types like switch or stack navigators throughout your app, Brent gave us a better overall understanding of how navigation works. He also showed how to do great looking transitions with the React Navigation library.

Besides that, Brent mentioned some great reasons to choose a “JavaScript-based navigation” over a “native-based” one. To learn how to take full advantage of it I can recommend reading the great docs of the React Navigation library or check out this post of Christioan Falch about Fluid transitions with React Navigation.

Watch the full talk here.

3. D3 and React, Together

One of the most impressive talks of the day was about D3 and React, by Shirley Wu. D3 is a library for building data data visualisations and apparently, it can work together beautifully with React too. The challenge of integrating D3 with React is that React and D3 both want to control the DOM. Mainly by letting D3 do all the calculations, and React doing all the rendering, Shirley showed us how to deal with this challenge and why D3 and React can work great together.

She also demoed this project that is definitely worth to check out. Ending the talk with some live coding in front of a huge crowd showed why Shirley Wu is the real deal and it made this one of the more interesting talks of the day.

Read more about this subject on her blog post or watch the full talk here.

4. React Native VR + AR Made Simple

The React ecosystem has given developers the opportunity to target platforms that were once thought to be out of reach for JavaScript developers. Nader Dabit gave a nice talk about the Viro platform that opens the door to developing both Augmented Reality & Virtual Reality.

Creating your own AR app with React Native is actually pretty simple and straightforward if you’re using Viro React. It allows you to create fun apps like the demo app of Nader, which allowed users to upload pictures taken at the conference into a virtual room, as well as walk around and interact with them in AR.

Although this technology can be fun to experimenting with, I can’t imagine myself using this technology for any useful implementations. I also think that most professional AR & VR developers are probably not building their stuff with React Native, but if you got the time and a good amount of creativity you might want to checkout Viro.

Watch the full talk here.

5. React State Management In a GraphQL Era

Last but not least I want to mention the great presentation of Kristijan Ristovski a.k.a Kitze, who came to talk about the (un)necessity of state management libraries when GraphQL takes care of managing data in our apps.

GraphQL is a well-documented data query language that provides an alternative to REST and ad-hoc web service architectures. It allows you to return complex data results through a single API call. Or as Kitze said it:

“GraphQL is the thing that’s eventually gonna replica REST, but you keep telling yourself that you don’t need to learn it.”

Kitze opened his enjoyable talk with a fun explanation of why the terms “Rockstar-”, “Senior-” or “Ninja-” Developer are so stupid, which showed that he had more to talk about then just how great GraphQL is.

He explored all the possibilities and compared the combinations of React, Apollo, Redux, MobX, and Next.js. But instead of just praising all these genius projects, he kept it real and talked about the practical use cases.

For instance, Redux, a brilliant concept that is (over)used by many react developers. Even the creator of Redux said:

“It’s definitely overhyped, low level and often used unnecessarily”.

You can read more about the thought of the creator of Redux in his own blog post You Might Not Need Redux.

Kitz continued and showed a simple question someone asked on Reddit: “Hello Reddit, I just started my first React app. What should I use to do network requests?” The most upvoted answer? “Just use redux-saga.” Who says JUST use redux-saga? As Kitz said that is like a friend that tells you there is a bug in his house and you’re telling him to use a bazooka.

The frontend world is changing very rapidly and the battles of different technologies will keep on forever, but the mistake is that we are asking “What’s better?” instead of

  • What’s suitable for my app?
  • What’s suitable for my team?
  • What’s suitable for our use-case?

Kitz ended his talk with the question “Do we even need a state management library when using GraphgQL?”. The answer: Maybe. It all depends on your project. If you want a bit more specific advice, I recommend to watch the full talk for some examples.

The only things left to mention about Kitz’s talk is the simple advice:

  • Stop seeking external approval.
  • Stop seeking answers in other people’s project.
  • Stop feeling insecure about your code because today no one actually knows what they’re doing.
  • For God’s sake: delete your Twitter account.

Watch the full talk here.

Final thoughts

Although there where a lot more interesting presentations besides the five talks I mentioned, I have to say that some of the talks were actually a bit disappointing. Not every talk was as in depth as we’d hoped for and showing a lot of documentation that can easily be found online will not do it for everyone.

Besides that, most speakers were very passioned and the overall experience was great! React Amsterdam is a really well organized conference that provided much to learn. Hopefully this post gave you a glimpse of a couple of interesting topics that you may want to dive into deeper.

For more information about the conference go to react.amsterdam.


Originally published at medium.com.

Inspire

Written by

Inspire

Digital products, meaningful impact.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade