DEV Community

John Au-Yeung
John Au-Yeung

Posted on

Best JavaScript Frameworks to Learn as a Developer

Subscribe to my email list now at http://jauyeung.net/subscribe/

Follow me on Twitter at https://twitter.com/AuMayeung

Many more articles at https://medium.com/@hohanga

Even more articles at http://thewebdev.info/

JavaScript is one of the most popular programming languages in the world. To make working with JavaScript easy, we use frameworks to make our apps manageable and maintainable.

In this article, we'll look at the JavaScript frameworks that are popular now or are up and coming.

React

The most popular front end framework in the world. It's one of the first to let us build apps in a component-based architecture that many know and love today.

It has lots of libraries and documentation associated with it. Also, there're lots of communities to ask for help, including lots of questions that are answered on Stack Overflow and forums like Reactiflux, which has a large audience.

We can use TypeScript or Flow to add type checking to prevent many mistakes that we could have made without it.

It only has the view portion of the app, so we have to add our own libraries to make a single-page app.

Angular

Angular is a front end framework made by Google. Like React, it uses the component-based architecture for app construction. It's a framework with many things that you need are included, including form validation, HTTP client, animation, testing and more.

It's not as popular as React, but it's still useful to know since there's a loyal developer following.

The whole framework is written in TypeScript, and developers use TypeScript to develop Angular apps.

Vue

Vue combines the best of React and Angular into one package. It's more expressive than Angular and it has concepts like props from React. It has associated libraries for routing, which is the Vue Router. To store a shared state, we can use Vuex.

It also has lots of libraries for styling and dynamic elements like carousels, styled inputs, tables, and more.

Vue is up and coming, and it's getting more popular every year as more teams adopt it for their front end apps.

Express

Express is a Node.js back end framework for developing APIs and full-fledged web apps.

It has many middleware libraries to do many things that we want including receiving uploads, creating a GraphQL API, and much more.

Also, it's very simple on its own so it's easy to use it to get into back end development.

Nest.js

A full-fledged back end framework that uses Express as its base. It's written in TypeScript and includes an ORM called TypeORM for database manipulation.

It has many features to make developing a full-featured back end app easy like route guards to check if a route can be reached by a user, and interceptors for intercepting HTTP requests and responses and doing things to them.

Nest.js also supports GraphQL, WebSockets, and microservices, so it's useful for lots of applications.

In addition, it has a CLI to make scaffolding and building easy.

Conclusion

JavaScript isn't a toy language anymore. It's a language that can be used to develop full-fledged web apps like any other language. It has the frameworks to make developing the apps easy and has a large community of users using these popular frameworks.

Top comments (14)

Collapse
 
itachiuchiha profile image
Itachi Uchiha

Thanks for this article, but IMHO there is no best approach/tool/framework in software development. But there are good decisions to make powerful architectures.

These are the things you will need for your projects.

Thanks again, I loved to use Nestjs.

Collapse
 
aumayeung profile image
John Au-Yeung

Thanks for reading.

I think it's up to team or personal preference.

They aren't too different in architecture.

We definitely can't use JavaScript without any framework for anything nontrivial. That's for sure.

Collapse
 
nombrekeff profile image
Keff

Although I get your point, and it's true for most cases, I think we can definitely use it, but we must know what we are doing and expect to spend a lot of time reinventing the wheel, but we definitely can.

If the frameworks can do it why can't we? I think it can be a nice exercise to try and implement some of the features the frameworks offer!

Thread Thread
 
nombrekeff profile image
Keff • Edited

PD: I recreated the most basics of React, like rendering, virtual DOM, hooks, etc... it's easier than it seems!

I also made an Angular replacement back in the day, just to try and better understand what happens behind the scenes.

Thread Thread
 
aumayeung profile image
John Au-Yeung

You probably making your own framework if you want to create a well-organized, manageable codebase.

Might as well let the framework do that.

Thread Thread
 
nombrekeff profile image
Keff

I have to agree with you there!

 
aumayeung profile image
John Au-Yeung

I think React is less complex than Angular. React also uses plain JavaScript so you don't have to learn Angular's template syntax.

Thread Thread
 
nombrekeff profile image
Keff

Definitely, its a lot less complex, that is the main reason I use react nowadays

Collapse
 
pksilen profile image
Petri Silen • Edited

Personally, I hate the API of Express, but I instantly liked Nest.js. I am planning to start a hobby project using Vue 3 and Nest.js using Typescript, which I like a lot. Maybe because of my Java background where I have learned to like decorators. For state management, I will use Universal model

Collapse
 
aumayeung profile image
John Au-Yeung

Nest.js is full-featured, so it has everything out of the box, which is good.

Express is probably good for simple apps.

Vue is great and TypeScript helps with lots of type errors which saves times even though more typing is required.

Collapse
 
aumayeung profile image
John Au-Yeung

Definitely. These are listed in any particular order. They're very popular so they're probably good in their own way.

Collapse
 
aumayeung profile image
John Au-Yeung

I haven't. I can't say I know enough about AI or cryptocurrency to give any opinion on this.

 
aumayeung profile image
John Au-Yeung

You can add everything except form validation with Vue CLI.

Collapse
 
aumayeung profile image
John Au-Yeung

Vue has more stuff that just the view so I think it's more like a framework.

But React is more like a liberty but people still call it a framework