React is an exciting future

Reading Time: 2 minutes

If software is eating the world, then JavaScript is eating software, and React is eating JavaScript. In this food chain, it seems React has a big part of our future — which is why I have been spending some time with it. Some interesting things have surfaced…

React is new[-ish]

At Atlassian, we use React internally and externally. Perhaps we’ve gone a bit overboard with React before, but with all new things it takes time to learn the limitations.

We aren’t alone in trying to learn React, I’ve seen people create fun stuff to learn, such as Tic-Tac-Toe. There’s a slew of books coming out to help people learn React, like SurviveJS – Webpack and React, Master React, and Easy React.

Tooling

Having shipped products using different languages and platforms, I can empathize with thinking Ruby has terrible tools. I’m starting to believe that React won’t be following the same path, even now using ES6 and ES7 features is possible with a bit of setup. Making life easier. With Redux & Webpack, it’s possible to have hot reloading via react-hot-loader and even rollbacks in your dev cycle. That’s some pretty impressive tooling that I’m excited to start using.

Platform convergence

I like the suggestion that mobile is “blowing up” because TV sucks. The web is easy (for limited definitions of easy) but limited. This explosion of mobile and fracture of differing platforms to support for client apps is a pain developers feel today. Without change, it will only get worse. We are seeing technologies reflect that pain. The transition from writing web to client apps can be easy with React Native. And tooling exists to support this, Nuclide is an IDE written to help work with React. Facebook based Nuclide on Electron so that they could reuse their expertise with web technologies to deliver a desktop client app. Convergence exists even in the tools we use to help us with convergence. This convergence of platforms is real and growing — Microsoft is part of this transition, with universal apps for Windows 10, Windows Phone, and Xbox along with adaptor to make it possible to support software written for other platforms.


React has that feeling of an exciting possible future for us as developers, along with growing interest. React has good tooling (hot reloading, Nuclide, easy adoption of ES6/ES7 features). React is deployable to web, mobile, and desktop allowing developers to reuse libraries between platforms. React sure seems to have good reasons to have buzz around it. Even if React isn’t the future, it has learnings we can take on to the next phase of how we write software. It’s exciting watching this unfold.