Why ReactJS

Harrison Spain
Redwood Code Academy
4 min readMay 30, 2018
“Close-up of a laptop screen with lines of code” by Artem Sapegin on Unsplash

A front-end JavaScript framework is an absolute necessity when building any application beyond the simplest complexity. The benefits in efficiency, maintainability, scalability, extensibility, and reduced time to market/production are too much to ignore. It is nice sometimes to build everything from scratch, relying only on vanilla JavaScript to meet your ends, but you would be ignoring not only the wheel that has already been invented, but the whole of the industrial revolution.

We at Redwood Code Academy teach React as the front-end JavaScript framework, instead of it’s main competitor, Angular, or the number of others such as Vue.js or Ember.js. This has changed over time — we used to teach AngularJS primarily — and is likely to change again.

Here is a very simple example of a React component, which the framework uses heavily to build a full application.

A simple ReactJS Component

The nature of modern software development demands constant adaptation to what the market is doing. Huge strides are made on a weekly basis and if you refuse to keep up, you will be left with an outdated and less sought skill-set.

Employers Seek It

React has the highest level of adoption in the hiring market and that market share is increasing. Ultimately, this means that learning React gives a developer the best chances of finding work. For those looking to enter the industry, this is the most important, if not only important reason for learning React over other frameworks.

In our official and unofficially polling of our employer network, there is an overwhelming majority of companies in the Southern California area and beyond that are adopting React. These companies range from startups to Fortune 500 enterprises.

https://trends.google.com/trends/explore?date=today%205-y&geo=US&q=%2Fm%2F012l1vxv,%2Fm%2F0j45p7w,Vue.js,ember.js

Popularity of React in Blue

Lower Overhead

The React tool-chain can be extensive, but the basic boilerplate can be explained within a day to neophytes. There are numerous ways to “bootstrap” a new React application and each of the pieces to the process are transparent and relatively simple. It is simple enough that we can get a class of students with as little as 2 weeks of coding experience to be able to build a relatively complex React app from those base principles.

React can be taught using ES5, ES6 or TypeScript. Though ES6 is far and away the preferred method. Pairing React lessons with ES6 lessons allows for the new developer to pick up both of these topics simultaneously and expedite the time to expertise.

Large Community

Let’s face it, the job of a developer is often to just figure out what they did wrong in the last batch of code they wrote. Error messages, and the Google searches they require become the methods of progress while building your projects. It is important to reduce that time between error and resolution.

Having a large community of developers using the same tools, technologies and frameworks that you are leads to having more resources to rely on. For each given problem, there are normally dozens of solutions posted for React. These are often also up to date and with a healthy discussion where necessary. The React community is one of the library’s biggest strengths.

Cross Platform

React Native is awesome and gives students the ability to create cross-platform native applications with only minimal additional work. There is a certain allure to building native iOS or Android apps and React Native allows our students to reach that goal.

We have found that React Native is quicker and easier to get launched than some competitors such as Ionic or Xamarin. The syntax and tool-chain are almost exactly the same as the web version which help the transition greatly.

Easy Upgrades

There is a distinct lack of breaking changes from one version of React to the next (I’m looking at you, Angular). We can teach our students with confidence that when the next version of React is release, they won’t be left in the lurch when a totally different approach is needed with the next version. React plays extremely nicely with it’s upgrade path, letting developers ease into changes without breaking existing applications.

Worthwhile Opinions

React is opinionated without needing an advanced level of experience to understand what those opinions mean. To a new developer, this is a life saver. Architectural and design patterns are dictated, which much be followed to use the platform to it’s fullest. While a beginner may not understand why things are done a certain way, they can use those opinions to start to learn better ways of writing strong code.

--

--

Harrison Spain
Redwood Code Academy

I am a software development educator and entrepreneur. My current mission is to train and mentor the next generation of software developers.