How to choose your first front-end framework without losing your mind 
Tags: webdev, react, beginners, javascript
Published: 2021-01-29 13:37:59

The javascript ecosystem is huge and when you see the sheer amount of tools, libraries, frameworks there are for front-end development, it can be overwhelming - especially for beginners. In this article, I'll try to help you choose your first front-end javascript framework by following a simple route.

## Key factors to consider
I see a lot of articles comparing front-end frameworks by their popularity or GitHub stars, which is fine. You don't wanna be learning a framework that no one uses or where there's little to no learning resources. But for your first framework, you should be picking the one which you think you'll be the most comfortable with. Once you're comfortable with a framework of your choice, you'll find it really easy to transition to another framework that is _trendy_ or _better for jobs_.
With that being said, some of the things you should consider when choosing your first framework are,
* Availability of learning resources
* Ease of use
* Does it work for you?

I'm not going to be sharing any stats of each framework since there are already really great articles on this topic, what I'm going to do is list the top 5 frameworks that are all _safe_ to learn and help you find for yourself which one you like the most.

## The Top 5 frameworks
Here are my top 5 front-end frameworks in no particular order:
* [React](https://reactjs.org/)
* [Angular](https://angular.io/)
* [Vue](https://vuejs.org/)
* [Svelte](https://svelte.dev/)
* [EmberJS](https://emberjs.com/)

## How to find the framework that works for me?
This part is actually surprisingly simple that I don't see many people doing. For example, when I got started I was attracted to learn React because of how popular it was and how the big companies are using it. But after trying out Svelte, I immediately fell in love with it. I have nothing against React, I love it and it's still my go-to framework for any web project. But I think if I started out with Svelte, I don't think I would switch to another framework unless I had to. 
The point I'm trying to make here is, just because a lot of people like a particular framework doesn't mean you'll like it too.
### What I want you to do
Each one of the frameworks that I've listed above has an excellent step-by-step getting started guide where it goes through some of the most important features and syntax of the framework.

**Go through the getting started guide of each framework and continue with the one you like the most.**

All the guides are very simple and short and can be completed in the span of an evening. Take it slow and steady and at the end, you'll have a basic idea of how each of them works. Then go deeper with the one which you liked the most and build cool projects!
I'm linking the getting started guides for each one for you here,
* [Intro to React](https://reactjs.org/tutorial/tutorial.html)
* [Getting started with Angular](https://angular.io/start)
* [Vue Guide](https://vuejs.org/v2/guide/)
* [Svelte interactive tutorial](https://svelte.dev/tutorial/basics)
* [Ember tutorial](https://guides.emberjs.com/release/tutorial/part-1/)

## Final words
Make sure to complete each one and see what you like and don't like about each, and pick your favorite. Everyone is different and it's okay if you like a framework that doesn't have the most GitHub stars, what matters is that you enjoy the process! I'll try to post my view on each of these here in the future. Let me know which one you like the most!