The Rise of ReactJS

Developer hiring trends in 2017 show demand for ReactJS skills as the fastest growing area of expertise.


It’s been four years since the JavaScript library React was open-sourced, but it didn’t take long for it to cement itself as a leading framework for front-end developers. The library, which is used to easily make user interfaces, is propagating throughout the wider community.

All this is to say that you should consider learning and applying React if you’re working on user interfaces in JavaScript. Fortunately, it’s not difficult to get started, and the rewards can be significant.

But let’s start by examining what React is, and exactly why it has become so popular.

What makes React special?

React was developed by a Facebook engineer and first used in the Facebook News Feed in 2011. After it was open sourced in 2013, it became a popular — standard, even — library for front-end devs building user interfaces. It’s intended to be used in tandem with other libraries, and it doesn’t assuming anything about what else is being used in your stack. So part of its success is its versatility.

There’s more to it than just that, though. React achieved popularity in part because it addresses one of the most frustrating things about building out complex UIs: dealing with the DOM API, which allows your applications to make changes to HTML and XML documents in effective and efficient ways.

React employs a Virtual DOM that achieves maximum efficiency by only re-rendering nodes on a need basis. It’s kind of like video compression over YouTube, where the only data transferred relates to pixels that change. This means much more efficient rendering, and it’s easier to work with on the fly.

There are other reasons React has become popular, like server-side rendering and the fact that you can essentially describe your UI in a declarative fashion.

React is one of the largest growth areas

So how popular is React? Well, let’s put it this way: Stack Overflow data on developer hiring trends in 2017 show demand for ReactJS skills as the fastest growing expertise.

Graph: StackOverflow

And that’s only the beginning; React was previously primarily used in web apps, but we’ve now seen the release of React Native and React VR.

As you might guess, React VR allows you to build VR experiences for platforms like Facebook’s Oculus Rift using standard web tools. You can read more about it in Facebook’s announcement on the subject from this past April or on the project’s GitHub page.

React Native allows you to build UIs for native mobile apps using JavaScript and React. It’s pretty far along, and is in use by teams at Airbnb, Tesla, and others. It’s easy to get started with it on GitHub.

It’s easy to learn in a few hours if you know JavaScript

If you know JavaScript, you’re already most of the way to mastering React. Using tutorials like the one Facebook hosts in GitHub, it should take a skilled JavaScript developer less than day to get up to speed with React. Additionally, there’s a thriving React community on Stack Overflow, IRC, GitHub, and beyond. As always, joining and tapping the community is the most effective path to mastery.

If you’re new to all of this and just want to learn JavaScript, check out these tutorials on Tuts+:

Get ready for React Fiber

It’s worth it to invest your time in learning React now, but keep in mind that Facebook has already announced its successor. React Fiber, revealed at F8 2017, is a ground-up re-write of React — but it will be backwards compatible with existing React projects. The goal is to make UIs built in React more responsive, and developers will get their hands on Fiber later this year.

Resources to help you with your React project

There are some excellent React resources available in CodeCanyon, for both web and native React projects. Consider ReactPage, a Bootstrap starter kit for ReactJS and WordPress — or Remain, an elegant WordPress theme built using JavaScript and React.

Or if you’re more interested in React Native, extend your project with the React Native Search Filter Plugin or use React Native Bootstrap. You can even find full-featured applications like Tudu, a React Native to-do list.