
React, Angular, and Vue are the three most popular tools for creating Front-End applications in 2019. But which one should you use for creating your first web application?
As you might expect, the short answer is something along the lines of “They are all great tools and you can be successful with all three. Use the one that is best for your situation!”, but that isn’t a very satisfying to hear. First and foremost, we need to know more about each option so we can make an informed decision.
There are many factors that one can consider when comparing the three:
- What kinds of features are offered?
- Do they have differing levels of performance?
- What kind of support is available?
- Documentation
- Active community
- General popularity
- What will be the anticipated longevity of my application?
And many more…
It’s a bit overwhelming. So let’s break it up and look at all three in turn.
React
React is a library for building interactive user interfaces, or UI for short. It is built for easy and lightweight component creation. In other words, it was designed to be relatively simple to learn (assuming a working knowledge of Javascript/HTML) while still being an efficient way to render and update content to your application.
React is very popular and has a large active community. This has led to the development of a good number of open source extensions for popular text editors, like the Visual Studio IDE, and this lessens the barrier to entry for React.
React was developed and is maintained by Facebook and is used in many of the world’s most popular apps such as Twitter and Netflix. It is still evolving at a fast pace and the documentation can vary in quality due to this dynamic nature. However, Facebook takes the stability of React very seriously and you will not experience breaking changes from version to version of React.
React’s main focus is on the UI, so if you want to use React in your application then you should expect to also end up incorporating other third party libraries (It should be noted though that there are many great libraries available for use). Also, React uses JavaScript XML syntax (or just JSX) which is a way of writing HTML in Javascript. This can be an initial turnoff to some, but is not that large of a mental stretch after a little experience. The Babel module that is included when you create a new React app will compile the JSX into plain JavaScript for the browser to understand.
Angular
Angular is a framework that is much larger than React or Vue. Like libraries, Frameworks have built-in and reusable code, but unlike libraries they also provide a larger structure for building out an entire application. This makes Angular more suited as a single solution for building out a full scale application.
Because Angular is the oldest and largest of the three, it also has the most capable command line interface. Angular also uses TypeScript which is a bit friendlier to developers who don’t have a deep knowledge of Javascript.
Angular’s large API is both a gift and a curse. While it provides many “in-house” solutions, it accordingly has the steepest learning curve.
Angular code can also become much more complex than React or Vue and this can also become a barrier to entry when using Angular for the first time.
Vue
Vue is somewhat of a middleground between React and Angular as it is a smaller scale Framework than Angular, but still offers a wider variety of tools than standalone React.
Vue is also an interesting blend of being easily accessible for new developers while also being powerful enough for experience developers. It is certainly not a tool that you would outgrow.
Vue is also known to be well documented which is always a great plus. On the flip side of this, Vue is also the youngest of the three and consequently has the smallest active community. While it’s community is not as well established, it is projected to grow significantly in coming years.
So now we have some information about React, Angular, and Vue, and maybe this was already enough for you to start making an informed decision about which might be best for your first application. In case you are still on the fence, I’d like to turn to some polling data from Stack Overflow – https://insights.stackoverflow.com/survey/2019


In most polls, React comes out as one of the most desired Web Frameworks (React is technically a library, but when coupled with other third party libraries it has the same functionality as a full web framework) to use and to be skilled in professionally.
We can also see in this polling data that Vue is more wanted/loved than Angular as well, although the implications of this aren’t so clear. There are still more professional jobs available for developers with the Angular skillset, but the polls indicate that this might change in the coming years.
Given all of the available data, React seems like the best option for building your first web application as it has a lower learning curve and is also a desired skillset in the workforce. Skills you gain by developing in React would also be somewhat transferrable to React Native which is used for developing mobile apps.
All in all, you can’t go wrong with any of these tools and all three have a unique blend of advantages and disadvantages. While I would lean towards saying that your first web application should be built with React, every developer needs to weigh the available data along with their own circumstances. I hope that this information will lead you towards making the best decision for your personal advancement as a web developer!






















