Key Takeaways from ReactConf 2017: Day One

John Vaghi
Fuzz
Published in
4 min readMar 15, 2017

Like all good conferences, ReactConf 2017 began with a number. 550,000, roughly — the number of users who have installed React Developer Tools for Chrome. A seemingly staggering number considering that not every React dev (myself included) bothers to download it and that the AngularJS equivalent, Augury, only has around 70,000. This is the number that Tom Occhino, the React team manager at Facebook, used to kick-off ReactConf and springboard into one of the main themes of Day One:

Adoption

People are using React — at least a half a million of them. But this shouldn’t come as much of a surprise to anyone with even half an ear to the Javascript pavement. The question really seems to be: ‘but is anyone using React Native?’

These people, apparently. Source: @R_N_Radio

Occhino went on to tout various industry efforts to either build or begin the process of re-platforming an app with React Native — the Facebook Ads Manager being an example of the former with the Facebook app itself being an example of the latter.

Jing Chen, a React Native engineer, further explained her team’s efforts to bring React Native into the Facebook app proper — not via a complete rewrite, but by incremental adoption, starting with webview conversions and then moving on to high iteration views and full screens.

Despite this initial whetting of the appetite, Day One was relatively light on React Native as, apparently, there were some complaints last year that the conference was “too React Native heavy.”

Unsurprisingly, there was a good chunk of time allocated to Fiber, Facebook’s rewrite of React’s core algorithm. The most exciting part about it? The following equation:

React Fiber === React 16

Yes, after ngConf last year, suffering through Misko Hevery tell me I’d need to learn a) a new Angular syntax b) Typescript and scrap all my Angular 1 projects to boot if I wanted to use Angular 2, I was relieved to learn that React Fiber was going to be backwards compatible with existing versions of React. I know many developers who abandoned the Angular ship in favor of React after the Angular 2 release and, if Facebook had played their cards differently, they may have seen a similar exodus (Vue, perhaps?).

Luckily, that didn’t happen. React Fiber is just React 16 and is being used by Facebook TODAY IN PRODUCTION. According to isfiberreadyyet.com, it’s not 100% ready, but it’s darn close.

A flat “No” seems pretty harsh. Something more like an incredulous “What more do we need to do to convince you monsters?!” would be more accurate.

The benefits of Fiber are great and numerous (and largely performance-themed). Lin Clark of Mozilla put together an excellent cartoon intro explaining some of the cool new things that are happening in Fiber.

Single-track woes

Single-track conferences are great for people with FOMO, people who know nothing about any of the material being presented, and people who simply aren’t aware that dual-track conferences are a thing. On the downside, single track conferences generally force people to sit through content they have no real interest in.

ReactConf, being a single track, did it’s best to keep things moving — no presentation was particularly long, there were 10-minute lighting talks sprinkled throughout, and a “chill out” room existed for those looking for a quick escape. There was, however, content I felt was not particularly relevant or interesting and, unfortunately, I had no good alternative.

That being said, I did find some gems among presentations I might have otherwise skipped if it were a dual-track conference.

“Type systems will make you a better Javascript developer”

Jared Forsyth of Khan Academy had one of the great presentations of Day One with his compelling and convincing argument for adding some form of type checking to all your Javascript project.

In addition to giving very salient examples proving that most of our Javascript is both naive and incomprehensible, he also demonstrates how Javascript itself doesn’t really do us a ton of favors when it comes to throwing runtime errors and really lets us get away with a lot of badness.

“Look at how clever I am” is what a lot of Javascript seems to be screaming (presumably to distract you from it’s abject incoherence).

Ultimately, the talk boiled down to using Flow, a static type checker for Javascript and — as someone who avoids people peddling some “great new tool” as much as possible— I’ll say that Flow is the first thing I plan on implementing when I’m back at work.

Check out Jared’s slides here as well as this great demo by Andres Suarez on how to use Nuclide with Flow in what was demonstrably a match made in heaven.

Server rendering with Next.js

Having just launched a server-rendered React project, we here at Fuzz know a thing or two about the pains and potential payoffs of universal apps. We didn’t use Next.js (the folks at Zeit didn’t open-source it until the project was well underway), but it seems to have emerged as the go-to framework for this sort of task.

While I distrust anything proclaiming to be a “minimalistic framework” (nothing ever really is), I would definitely look to this the next time we’re making a decision about a server-render app.

Dan Abramov was not there

Or at least I didn’t see him. Presumably he’s busy working on getting those last Fiber tests passing.

You were sorely missed.

--

--