Comments

What JavaScript Framework You Should Learn to Get a Job in 2019?

Are you wondering what JavaScript framework or library you should use to land a job in 2019? In this post, I am going to go over a comparison of the most popular JavaScript frameworks that are available today. By the end of this post, you will be ready to pick the right framework to help you land a front-end developer job in 2019.

If you would rather watch a video to learn about this, checkout this video by Mosh, comparing React, Angular and Vue. It will help you decide which framework to choose to land a job in 2019.

Background

It’s 2019, and the StackOverflow Developer survey results for this year are out. Guess what? For the seventh year in a row, JavaScript has been voted as the most popular programming language.

https://insights.stackoverflow.com/survey/2019#key-results

With JavaScript being the most used programming language in the world, JavaScript Web frameworks and libraries like React, Angular and Vue are thriving. In this post, we are going to look at the most popular web framework in 2019.

And the Winner is..

React is the most loved and most wanted web framework by developers in 2019.

https://insights.stackoverflow.com/survey/2019#key-results

React tops the list and has been voted as the most “wanted “and most “loved” web framework. It is closely followed by Vue this year. Angular seems to be losing its popularity compared to the previous years.

Most Popular Web Framework

https://insights.stackoverflow.com/survey/2019#key-results

React is at the top with 21.5%, followed by Vue at 16.1%, and Angular at 12.2%.

Three Most Popular Web Frameworks Today

AngularReactVue

Angular is a full blown web framework. It has been around the longest among the three. Angular was developed by Google and first released in 2010. It is a TypeScript based JavaScript framework. Angular (version 2 and above), originally released in September 2016, is a complete rewrite of AngularJS (released in October 2010).

React is a JavaScript library that is used to build frontend applications. React is backed by Facebook and was open sourced by Facebook in 2013. Ever since then, it has consistently gained popularity and today ranks as the most popular web library in the world. React is used far more at Facebook than Angular is at Google if it’s any indication as to how big Facebook is betting on this technology. They also have a dedicated team of developers working on React.

Vue is the new kid on the block. Unlike React and Angular, Vue is not backed by any corporation like Facebook or Google. Vue was developed by a group of passionate developers. It has elements of both React and Angular, and in my opinion contains the best of both worlds.

Why is React the most popular?

I did a quick search on Google trends to compare the search terms “React”, “Angular” and “Vue”. And it has the same results as the StackOverflow survey.

Most Popular Web Framework

So why does everyone like React so much? Let’s study some differences and commonalities between the three most wanted web frameworks/libraries and see why React is everyone’s favorite.

Corporate Backing

Angular is developed and maintained by Google. Google uses Angular in several internal products as well as the Google Adwords application. This is one of the reasons, why Angular is trusted in the developer community.

React is backed by Facebook and was open sourced by Facebook in 2013. Facebook has a dedicated team of engineers who are working on React and making React better everyday. Since Facebook is heavily invested in React, many internal Facebook products are coded in React. With Facebook’s heavy involvement in React, the library has gained a lot of trust over the years.

Vue is not backed by any big corporation like React. Although Vue is not backed by big names, it has gained a huge name in the open source community. It is fairly new compared to React and is backed by a group of open source contributors.

Both Angular and React are backed by tech giants, which builds trust in the developer community.

Job Prospects

Alright, let’s talk about Jobs. Ultimately, you want to invest time and learn something that gets you a job in the market.

We know Vue is the most recent addition to the family of web frameworks and it seems to be liked by many. But as of today, there are tons of React and Angular jobs when compared to Vue jobs in the market. This is also because, both Angular and React have been around longer. Lots of companies have adopted these technologies, hence creating many jobs in the market. But I am sure if you give Vue a few more years, it will start to catch up.

There are plenty of React and Angular jobs when compared to Vue jobs in the market

I did a quick search on LinkedIn to compare job postings within the United States on React, Angular and Vue. This is what I found, React topped the list with about 59000 postings, followed by Angular with 33103 postings. Vue had the least among the three with only 6442 postings, indicating that it is yet to be adopted by companies in a large scale.

Let’s take a look at a similar search on Indeed.com for job postings within the U.S. Based on the numbers here, there is a huge demand for React developers, with 13000 job postings, closely followed by Angular.

Based on Job Prospects in 2019, React is the clear winner.

Learning Curve

Angular:

Angular has many topics to learn, starting from basic ones such as directives, modules, decorators, components, services, dependency injection, pipes, and templates. After that, there are more advanced topics such as change detection, zones, AoT compilation, and Rx.js.

The entry barrier for Angular is clearly higher than for React. The sheer number of new concepts is confusing to newcomers. And even after you’ve started, the experience might be a bit rough since you need to keep in mind things like Rx.js subscription management and change detection performance.

React:

React uses JavaScript XML (JSX) which is a way of writing HTML within JavaScript code. JSX makes sense since React believes in functional programming.

For a typical web developer, initially JSX could be bit of a learning curve. Although, JSX is a different approach, it is very similar to HTML and a developer should be able to grasp it with some practice.

You’ll also need to learn how to write components, manage internal state, and use props for configuration. You don’t need to learn any new logical structures or loops since all of this is plain JavaScript. Once you’ve learned the basics, a routing library, and state management library, you’re ready to start building apps! This is far easier than learning Angular for a newbie.

Vue:

Vue’s coding style is similar to what web developers are used to before the advent of React. Vue separates HTML, JavaScript and CSS like the traditional way of coding web applications.

It does allow JSX, if that is your preferred code style. Vue also has component lifecycle, but they are simple and much more intuitive than React. Vue also is a younger framework, so it made sure it took the best of React and addressed some of the problems with React.

For a new developer, both React and Vue have the least learning curve.

Mobile Solutions

Angular:

Ionic

Ionic is a framework for developing hybrid mobile applications. It uses a Cordova container that is incorporated with Angular. Ionic provides a robust UI component library that is easy to set up and develop hybrid mobile applications with. However, the resulting app on a device is simply a web app inside of a native webview container. Because of this, the apps can be slow and laggy. Recently, Ionic has announced compatibility with React giving Ionic developers the freedom to choose between Angular and React.

NativeScript  + Angular

NativeScript lets you build native mobile apps on both iOS and Android. It can be used with a variety of frameworks. If you know Angular, then you can use NativeScript with Angular to build native mobile apps.

The NativeScript core team works with the Angular team at Google to ensure NativeScript and Angular are integrated. With this you can create native mobile apps with good performance. The only drawback here is that NativeScript has to constantly be in sync with the latest developments in the Angular world. Since NativeScript and Angular are two different solutions coming from two different companies, we never know when NativeScript may stop support for building apps with Angular.

React: 

React Native

The mobile solution that was born out of React is React Native. It is used to build native mobile apps using JavaScript and React. Today many fortune 500 companies are using it for their mobile space.

It is backed by Facebook, and was open sourced a few years ago. It is essentially React code. A React developer can easily pick up React Native, since the code is all written in JavaScript and React. The only difference is that instead of web components, it comes with native mobile components for iOS and Android.

React Native is by far the most used and popular cross-platform mobile framework. Learning this will give you plenty of job opportunities.

Vue:

Vue-Native

Vue has Vue-Native. The interesting thing about it is that, it is essentially a wrapper around React Native. Under the hoods, you need to setup React Native. This is not a stand-alone solution and cannot be used without React Native.

NativeScript + Vue

Just like NativeScript can be used with Angular, it can also be used with Vue. It enables you to build native mobile apps using NativeScript and Vue. Again, the drawback here is that NativeScript needs to constantly be updated to the latest development in Vue. And since they are coming from different teams and companies, we never know how long this support may last.

Today, React is the best choice, if you want to build mobile apps. React Native is ahead of the other options that are available to us from Angular and Vue.

Community and Developer Involvement

Let’s take a look at the open source community involvement in all the three frameworks to get a better idea on popularity, frequency of releases, etc. Take a look at this table below that compares them based on GitHub stats.

Something interesting to note here is that Vue, has the most number of stars among the three on GitHub. But it also has the least number of contributors. This means, people are interested in Vue, but it has still not gained the momentum that React and Angular has gained in the Open source community. React  has around 126k stars, which is a lot for an open source library. This shows people like React as well. In comparison to that, Angular has only about 40k stars.

React also has a significant number of contributors. There are over 1290 contributors who are contributing to React, which is much more than Vue and Angular.

The final statistic on weekly downloads is quite intriguing.  React has the most number of weekly downloads with a whopping number of 5,211,991. What is interesting is, Vue which is although new, comes second with 986,335 weekly downloads. You can notice here that Angular downloads are far less in comparison.

Based on the community and growth of frameworks, React is at the very top. Vue is liked by the community and upcoming. Angular on the other hand seems to be losing its spark and slowing down.

Verdict

JavaScript frameworks and libraries are evolving everyday. There is a lot to look forward to in the coming years. With respect to 2019, React is still at the top. And learning React will help you find your dream front-end job. Vue is upcoming, but it is young. Finding a job with Vue skills may take a while. Angular is still out there, and used by many companies and enterprises. But it is losing its spark. Developers are not eager to learn Angular, as much as much as they would like to learn React or Vue.

End of the day, you need solid understanding of any of these frameworks and JavaScript, to build solid front end applications. If you are new to React, and want to master it, I highly recommend Mosh’s course on Mastering React. This course will cover everything you need to be proficient at React.

If you enjoyed this post, please share it. And check back this space for more.

 

Adhithi Ravichandran is a Senior Software Engineer based in Kansas City. She is currently working on building mobile apps using React Native for critical healthcare scenarios. Adhithi is a regular conference speaker at various tech conferences. Adhithi graduated with a Masters degree in Computer Science from the University of Kansas and has been in the tech industry for over 7 years. She has worked on several technologies over the years, and one of her recent favorite is React Native.
Tags: , , , ,

2 responses to “What JavaScript Framework You Should Learn to Get a Job in 2019?”

  1. Why on earth everybody seems to think that Google Trends or StackOverflow activity reflects how much something is “wanted” or “loved”?
    In my experience, I only need to google or go to StackOverflow, when that damn thing isn’t working as expected … otherwise I am quite happy with the API page!

  2. Udo says:

    Hello,

    you might want to also mention that Ionic also supports Vue now:
    https://blog.ionicframework.com/a-vue-from-ionic/

    Best regards
    Udo

Leave a Reply

Connect with Me
  • Categories
  • Popular Posts