You should be an expert in 1 of these 3 JavaScript client-side frameworks

There are three popular frameworks for client-side web development, of which one should be in your toolbox.

Author
David

For every programmer on the planet, there's 3.7 JavaScript frameworks.  At least it seems like it.  The market for client-side tools is overly saturated.

This is an issue not only for experienced programmers keeping up with the current tech, but new programmers looking to develop a proficiency with a framework that's relevant and keep them in demand.

One of the toughest things for a developer to do is abandon or migrate from a tool of which he's an expert.  When you can build any application you want with confidence that you can deliver for a customer on budget and on time, moving on is a decision that can affect your business in the short-term.

The first JavaScript client framework I used for a headless, decoupled web application was Marionette.  It's what I cut my teeth on, and I really enjoyed using it.  This was around 2014, and my first project using it was an admin dashboard for a real estate property management application.

It was new territory, and because I decided to jump into this new tool and work through the learning curve, I turned down a good-sized project because I would have had to go backwards and use my familiar tools because I wasn't yet proficient enough with the new stuff.

Up to that point, I was proficient in jQuery, MooTools, and other JavaScript libraries that helped me build sophisticated web applications, but until Marionette, I hadn't built a full-fledged decoupled application.

I mention this experience because there's a period of time where you're in limbo as you explore the new framework.  Therefore, when you come out on the other side, you want to be certain your opportunity costs were not in vain.

You want to have confidence that it will be relevant for the foreseeable future.  We like programming solutions and applications, but let's be real: we love the money we make doing it.  Therefore, the skill to use the framework should be in demand.

Here are three client-side JavaScript tools I think are safe to take the plunge if you're an experienced programmer, or an excellent starting point for newbies that will keep you coding and getting paid.

React

Currently, React is the king of the hill for client-side frameworks (technically, it's a library, but don't worry about that right now).  It was birthed at Facebook, giving it instant credibility and support, and it's used by some of the biggest household names.

I give this one a little more of an edge simply because of its mobile programming framework called React Native, where you write once and it compiles to native code for Android and iOS.

If you know React, then you know React Native.  That's a huge selling point.

Angular

Like React, Angular was also birthed by one of the largest tech companies in the world.  Created at Google, it's what powers Gmail, Google Docs, and other Google-based applications, so like React, it's proven on the largest applications in existence.

Angular uses a different implementation than a virtual DOM, and is a true MVC framework.  It comes stock with everything you need (in contrast with React, which uses additive libraries).

Angular uses TypeScript, a subset of JavaScript, so take that into consideration.

Vue

Outside of React and Angular, this is probably the most popular.  Like React, it takes advantage of a virtual DOM implementation.

I consider Vue an excellent secondary framework to know with Angular or React, but you can't go wrong with just learning it on its own.  Like the aforementioned, it powers some of the largest applications on the web, like Alibaba and Netflix.

You can use TypeScript or JavaScript, and you can take advantage of concepts you learn in Angular and React, and vice-versa.  For a client framework, I probably like Vue the best.

...however, keep on the lookout for Svelte

This is one that's making a splash, and developers I know who've used it have instantly fallen in love with it.  It's not a library or a framework, but a compiler.

Recall above when I mentioned my evolution from the old way of doing things?  It looks like Svelte may be the next new thing, and sometime this year I'm going to begin exploring it.

If I had to gamble with your time and my credibility, I feel confident recommending you get up to speed on Svelte.

In conclusion, for newbies, don't look at one tool as "better" than the other.  Look at these tools as you would a hammer or screwdriver; they're just tools, nothing more and nothing less.  You may have preference for one brand over another, but in the end, your building a solution, so it's about choosing the one that makes the most sense for the job.