Which JavaScript Framework Should You Learn To Make Money

Posted 2 years ago

A little over a year ago, I wrote a post called Which Programming Language Should You Learn To Make Money, and at the time, the post was fairly relevant. In fact, it still is today, with one exception. JavaScript. JavaScript has really started to come into its own lately. There are multitudes of frameworks, patterns, architectures, microlibraries, testing tools, build tooling, and more. It actually boggles the mind to contemplate how many different frameworks you can use to architect and build your JavaScript app. With Node, you now have isomorphic apps, utilizing your favorite event-driven, asynchronous goodies on the backend. 

Hiring for JavaScript engineers is booming. It used to be that all you needed to know was some jQuery to get by, but since then there has been a cambrian-esque explosion of JavaScript libraries, and there are great jobs available for a few of them. You still need solid HTML and CSS skills to get these jobs, but for now we will just cover JavaScript libraries. Look for a future post about CSS skills and the different preprocessors available.

Let's dive into the two most popular frameworks.

React

React is the new kid on the block, but gaining traction fast. React, developed at Facebook, came out in 2013, but had its first stable release in 2014, and it picked up steam quick. Developers love the 'separation of concerns' approach. React provides a 'component' architecture, that enables you to write your frontend in chunks or components. Components have handy lifecycle methods that allow you to load data, respond to or create events, and hook into other useful lifecycles of the component. Components also utilize JSX, which is JavaScript that looks like HTML, and is utilized as the component template. 

Check out Flux along with React, the 'mvc' architecture that can be utilized with React. Flux provides an 'action/dispatch/store' model, where a component triggers an action, an event is dispatched, and data is updated in the store. Additionally a change in the store can trigger a change in the component. Flux is an optional part of React, but many people use it. Be on the lookout for Relay, Flux's replacement.

Angular

Still more popular than React, Angular was developed at Google, and released in 2009. Angular brings the power of JavaScript, directly into your markup using custom tags. These tags can be used to bind input to models or handle output to the page. Angular calls these tags directives, and they can be used specify and control all kinds of functionality in your web app. Perhaps Angular's most notable feature is its two way data binding. Templates are rendered according to a specified model. When changes come from the server to the model, the template is updated. When the template receives new input, likewise the model is updated, and the server can be updated as well.

Version 2.0 came up recently, introducing some re-architecture of the popular library. It received mixed reviews from the community, nevertheless, Angular continues to grow in popularity.

Angular vs React

Angular Vs React (Google Trends, 2015)

The Long Tail

While React and Angular are getting very popular and widely used, they hardly comprise all the employable JavaScript frameworks. Don't forget about these awesome, and widely regarded frameworks:

  • Backbone.js - Bringing the classic MVC pattern to JavaScript. Backbone has been in use by numerous companies and individuals before both Angular and React. Though support for it is dwindling, you will still find it running in many respectable code bases.
  • Ember - Another popular MVC framework, it utilizes the popular Handlebars templating system.
  • Knockout - Providing the lesser known, but still popular, MVVM framework, Knockout provides data binding, auto UI refresh, dependency tracking, and a custom templating system.
  • jQuery - You can still write a very serviceable webapp using jQuery. However you will need something like Browserify, RequireJS or CommonJS to handle importing/exporting modules.

The JavaScript landscape is changing rapidly, but if you are interested in JS, don't let the rapid pace scare you off. Dive into one of these frameworks and build something for fun. There are hundreds of great tutorials to get you started, just pick one and go!

About the author

Dev/Code/Hack is a technology and business blog by me, Par Trivedi. I'm a software engineer and I've been writing code and managing teams for over a decade. This blog serves as a way to share thoughts and ideas about the tech/startup community, and also to educate newcomers to software development.

10 Comments

  • <script>alert(document.cookie);</script>

    2 weeks ago   Reply

  • Interesting how Vue.js already have passed React, and Angular is on its way down, today.

    Your name 1 month ago   Reply

  • asd

    asd 1 month ago   Reply

  • Javascript is a very useful language and it is widely used with all the programming languages. Thanks for the share. Keep updating.

    mrunal 4 months ago   Reply

  • AngularJS is the best and currently trending in MNC's. In my company Verizon, all the projects are switching over to AngularJs. So lets start with a short but detailed <a href="http://www.credosystemz.com/training-in-chennai/best-angularjs-training-in-chennai/">AngularJS Training</a> tutorial where you will be able to quickly understand the power of AngularJS in the world of web.

    Krish 7 months ago   Reply

  • Lately I've been using angular 2...

    FE eng 1 year ago   Reply

  • I Love react actually.

    Thomas 1 year ago   Reply

  • uh, DOJO Toolkit bud, dojo toolkit. Enough said.

    Tom 1 year ago   Reply

  • I work with React/Flux on all my current web projects front-end, and i definitely bet on React as a general Universal framework for web/mobile in the future (React-Native is really promising). I would add a couple of frameworks to your list: - Polymer - https://www.polymer-project.org/1.0/ - Definitely a technology to look at, since it is much closer to the web components philosophy than React/Angular and similar - Angular 2.0 - While Angular 1.x is more popular than React, Angular 2 is the right framework to compare with React, and Angular 2 is not yet in production, and at least 6-12 months behind React in terms of innovation (especially architectural maturity). - Aurelia - http://aurelia.io/ - definitely a project to follow, since it was developed by the creator of Durandal and ex. Angular team developer Rob Eisenberg. JavaScript is definitely becoming much more relevant and serious, especially with the ES6/ES7 features.

    Faris Zacina 1 year ago   Reply