Agile Software Development

Part 3: Web Development Frameworks React JS, Vue JS and Angular JS in comparison – Learning Curve and Future predictions

by Christian Derwein 10 Aug 22 5 minutes

[Sassy_Social_Share]

Learning Curve

How easy is it to learn each of these frameworks? To answer this question, we need to look at the complexity of each framework and the concepts they introduce.

React JS

In its most basic use case, React is the least complex of the three frameworks. That’s because all you need to do is import the library and then write the React application with a few lines of code. But aside from the Hello World example, most React applications are component-based and don’t just render a few elements on the page. One thing that some developers find strange or difficult about React is that learning JSX is a one-way street. You can use raw JS, but since most React developers use JSX, learning JSX is pretty much inevitable. That’s the main reason that makes React’s learning curve a bit steeper, but other than that, it’s a library that’s easy to learn for developers who know JS and understand web development concepts.

Vue JS

Vue is a bit more complicated to set up than React. You can use it as a library to define components that you can use in HTML code-but similar to React, most projects aren’t set up this way. Most Vue projects have a root component called App.vue and a set of child components for displaying various things. When it comes to syntax, the only new thing to learn is Vue’s template syntax, which is very easy to understand if you know HTML. Basic directives, such as v-if and v-for for conditional rendering and list rendering, are easy to understand even for beginners. In addition, Vue’s single-file components keep all front-end code in one place and make it easy to organize new projects. In my opinion, Vue is the easiest to learn because of its simplicity and intuitive syntax.

AngularJS

AngularJS has the most complex project structure of the three, and since it is a full fledged front-end interface development, it relies on more concepts. Apart from components, AngularJS supports modules and services. It expects one to write and design their codebase in a certain way that makes the project more maintainable as it gets bigger. Since AngularJS works best with TypeScript, it’s important to be proficient in TypeScript when creating an AngularJS project. Just like with Vue, you need to be familiar with HTML-like syntax so you can code new UI features with AngularJS. So AngularJS might be the most difficult for the average developer to learn because it is more complex and based on TypeScript.

Future predictions

Many open source projects and frameworks are falling into oblivion and are no longer maintained. Should we be worried about any of the frameworks we discuss here? While we can’t fully predict what will happen, ongoing development work is a good indicator of the state of these projects. Popularity and growth are also important indicators to predict the longevity of a project, so let’s take a look at each framework.

React JS

React v17.0 has been released, but surprisingly it doesn’t include any new features for developers. The main change is that this new version makes it easier to update React itself. One can update only some parts of React from the older version to the newer one without having to update the whole project. If an application relies on functionality that changes or is deprecated with the new version, the old version can be kept to preserve that functionality. This update makes React a good long-term choice because it makes it easier to stay current with new versions. React has grown 44 percent in weekly npm downloads since last year. In absolute numbers, it’s still the most downloaded of the three projects.

Vue JS

Vue 3 was released in September 2020 and fixes many serious issues that Vue 2 has in large projects. It introduces the Composition API, which is inspired by React Hooks and makes it easier to reuse logic across components. The entire project has been rewritten in TypeScript, which improves TypeScript support in new Vue projects while making the project more maintainable. Vue 3 is a much-needed upgrade and makes Vue more suitable for large projects. Weekly downloads of Vue have increased 87 percent since last year, making Vue the fastest growing framework in relative terms. If Vue can maintain this growth rate, it will surely overtake AngularJS soon.

AngularJS

AngularJS has recently introduced the Ivy compiler. It shortens build times, optimizes assets, enables faster testing, and generally improves the developer experience. The AngularJS team releases major updates twice a year that include new features or simply adapt the framework to new browser versions. Weekly downloads of AngularJS have increased by about 50 percent since last year, so it’s still a popular project.

Conclusion

AngularJS, React, and Vue are all being very actively developed. They regularly release new versions and maintain the existing ones. Since the current level of support is high in each case, you can use any of these frameworks without hesitation. It is important to note that AngularJS is not growing as fast as it used to, while Vue – even though it was launched recently – seems to be growing very fast. As mentioned before, we can’t predict which frameworks will remain relevant in the long run, but each project has a large community behind it and is constantly evolving. The goal with this article was to explain the architectural differences, break down the strengths and weaknesses of each framework, and compare them where appropriate. Before jumping into a new framework, there are a few things to consider. First, a team’s experience can be a deciding factor in choosing a new technology. Likewise, you need to consider the talent available in your region so you can hire developers for your project. Finally, the complexity and scope of the project itself can influence the choice of framework.

[ratemypost]
Christian Derwein

Today - Entrepreneur and CEO of moweex - mobile & web development agency

Former - Collaboration & IT-Manager for Austria biggest industry company. Developer, Consultant and project leader for web and mobile projects for small and medium-sized enterprises.

Goals: Do what you Love and do it often. This is your Life. Start doing things you love. Live your dream and share your passion.

Specialties: Webdesign, Webdevelopment, Mobile Development (iOS, REACT native, Ionic), ScrumMaster, Creating ideas and think one step ahead, Communication, Business Development

Show all articles by Christian Derwein
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments