Front-end development: What should I learn? React, Vue, Angular or Svelte?

Aleksandra Slomska
4 min readJun 13, 2022

Let’s face it… A lot of newbies to front-end development can’t decide which framework / library they should learn. Which one will be a ticket to a job in tech? Which one is the easiest to learn? Which one is the most popular?

I will answer these questions based on my own experience in my learning journey and search for a job.

Which one will be a ticket to a job in tech? → All of them.

Which one is the easiest to learn? → Svelte.

Which one is the most popular? → 1. React — 2. Vue — 3. Angular — 4. Svelte.

In this article, I will focus mostly on React and Svelte. React has been in the industry for years. It was created by Dan Abramov at Facebook and it went through a lot of improvements within the last few years. From class-based components to functional components, from Redux to Redux Toolkit and Context API, from hooks like useHistory to even better hooks like useNavigate, etc., as developers we tasted different flavors of this powerful library and we kind of loved it. React is the most popular front-end library these days and most companies use it. When you search for a job, read the tech stack the recruiters ask you to know, React is dominant! I can’t give you the exact %, but I can tell you that React rocks! Unfortunately, React is not the easiest library to learn. A complicated state management requires a use of advanced state management concepts like Redux or Context API. These concepts are necessary to use in the app if we want to avoid props-drilling (passing props down via components tree from the parent to the last child through all the children before the last child → huh..?).

How about Svelte? → This is what we can read on the main page of Svelte: “Svelte is a radical new approach to building user interfaces. Whereas traditional frameworks like React and Vue do the bulk of their work in the browser, Svelte shifts that work into a compile step that happens when you build your app. Instead of using techniques like virtual DOM diffing, Svelte writes code that surgically updates the DOM when the state of your app changes.” → this sounds awesome! And how about this … → “No more complex state management libraries — Svelte brings reactivity to JavaScript itself”.

Ok…I hate to break it to you but Svelte is not widely used in production and we can’t really say it has been widely adopted by companies. Speaking shortly, Svelte has a potential to rock the front-end scene in the years to come, but you will not get a job in front-end development just by knowing Svelte itself. So far I saw ZERO job postings in which Svelte was mentioned in the technical stack. Play with it for fun, but if you want a job, just stick to React, Vue, or Angular!

What about Vue and Angular? These are great libraries and frameworks that are used by many companies. I saw Angular had been adapted by companies like StudySmarter (7 million users on their platform). Angular is a framework not a library, like React, (what is the difference between library and framework → more about it later) and it has different use cases. Angular is a monster! (like most frameworks)! I played around with Angular and personally didn’t feel it. However I must say it was really nice to have all built-in, no need to install 3rd party libraries to get going with things like Router. However, it takes much more time to learn Angular than React, and every newbie dev should take this into consideration. Angular does not allow for functional programming since it is based on class-based components and the truth is that development is heading into functional rather than object-oriented programming these days and developers should focus on solutions that use functional concepts. It benefits both the maintenance and scalability of the code.

And Vue…? Vue takes good parts of React and Angular and combines them together creating a very easy library to learn! I see Vue often in job postings but it definitely does not beat React! It is much more popular than Angular, and I would give it a chance if I weren’t a React developer.

So which one should you learn? I recommend you React or Vue! Sorry Angular — you are ok, but I am a big supporter of functional programming, and your class-based components don’t rock. Svelte → you need some time to grow, let’s see how it goes!

--

--

Aleksandra Slomska

Front-end | Full-stack | JavaScript |React | React Native Developer