DEV Community

Sudharsh EM
Sudharsh EM

Posted on

Angular or React which one to learn first?

Which one should I learn first. Any advice?

Top comments (14)

Collapse
 
existentialalex profile image
ExistentialAlex

It entirely depends on your background and interests.

Angular as mentioned by others is more opinionated but comes with more out of the box, so there's less running around trying to find what works for you. Having said that though Angular does have it's own structures and ways of developing that can take a little bit of time to understand at first but once you wrap your head around the concepts it's really quite straight-forward. Plus, typescript out of the box is a must for me just because you can actually write type-safe code.

React is another beast entirely. It's extremely powerful and with the move to hooks allows you to get up and running extremely quickly with incredibly low bundle sizes when you compile everything. You need to learn JSX (or TSX if you fancy typescript in react) but that's a fairly straightforward thing.

I think in terms of your initial learning, especially if you're just starting out, react is the way to go. I'm a diehard Angular developer but I can see that React has a better initial user experience and with it being more widely used has more online guides and jobs.

That isn't to say don't learn Angular. It's used by a lot of large corporates due to it's stability with larger scale applications and where it's a bit more difficult to learn puts you into a bit of a niche when it comes to career development.

It's also worth looking at Vue and Svelte. Both are amazing.

Whatever your choice, good luck going forward and it will be interesting to hear what your initial experience with all of it is.

Collapse
 
sudharsh_em profile image
Sudharsh EM

Thanks for your precious time explaining. I really appreciate it. I would like to try React as my first frond end framework. Since I see many developers recommending it. Thanks Again.

Collapse
 
existentialalex profile image
ExistentialAlex

No worries. All the best. :)

Collapse
 
markohologram profile image
Marko A

Just from your question I'm not sure what's your Javascript level. If you are just starting to learn Javascript and already want to jump into frameworks I would highly suggest that you learn more about Javascript first and then jump into frameworks, it will be way easier to understand frameworks later. It will also make it clearer what's Javascript and what might be framework specific stuff.

If you already have a decent understanding of Javascript then I would look at it like this:

Angular

  • if you come from a (strong) OOP background
  • if you prefer to have all tools immediately available to you "out of the box" (http library, state, router etc.), but also consider this might be overwhelming since it might have a steep learning curve because of all the tools included and you probably don't need them all in a single project most of the time

React

  • no OOP background required
  • if you prefer smaller initial tooling available and want to pick your own going forward
  • if you are prepared to tinker more on your own because React doesn't impose folder structure and isn't really that opinionated on how you approach building your app

Both have large communities and both have bunch of jobs available. No matter which one you pick you will gain valuable knowledge so you can be sure that that your time won't be wasted.

I would suggest you that you try building something simple in both of them and just decide which approach you prefer in the end. Just by reading the docs or reading blog posts won't really tell you how it feels working with each of them and which one really fits you personally. Usually picking a framework depends on the project, but it also depends on personal/team preference. So it's really important that you try them and work in that one you personally find better to work with. In your career you will definitely work with tools that you don't really like working with, but in this case you have a choice and you can test so why not work with something you like better in the end.

One also good choice is Vue, but depending on where you live it might not be popular as React or Angular so your business possibilities with it might be way more limited for you.

Of these two choices I personally prefer React because it's less opinionated and to me it's more fun to work with. I really don't like classes and HTML templating so Angular doesn't give me that joy while working with it. Although I appreciate that certain things are decided for you already in Angular and I would sometimes like that React is at least somewhat opinionated about few things or that some things have an official tool/package, but it's not like that. Community usually handles big libraries that aren't part of official React package or that the official React team doesn't maintain.

Collapse
 
sudharsh_em profile image
Sudharsh EM

I come from .NET background having 6+ years of experience in OOPs concepts. Also and intermediate in JavaScript with ES6 knowledge. Trying to find out which font-end framework should I learn first.

I see that React is preferred by many developers. Let me learn that first.

I highly appreciate your time for explaining. Thanks.

Collapse
 
markohologram profile image
Marko A

Well you come from a strongly typed language and OOP background so I actually think that Angular might fit you better with its concepts and the fact that it uses Typescript. It might actually be more familiar to someone with your programming background.

Because of that I would advise you to try Angular first, but as I've mentioned if you want to properly decide you should probably try both and just see which one suits you better.

Thread Thread
 
sudharsh_em profile image
Sudharsh EM

I'll definitely try both before starting. Thanks Marko.

Collapse
 
mullojo profile image
Bob

Vue 😀

Haha, not to complicate your choice any further, but you should look at Vue to. If it were me, my priority would look like this:

1) Vue
2) React
3) Svelte
4) Angular

And learn Vue w/ Meteor and you will be able to build ANYTHING you can imagine. This is just the truth, that is unknown to most.

Have fun! Build amazing thing! MongoDB + Node + Vue, all wrapped up with Meteor is amazing! Also you can use React, Svelte, and Angular with Meteor too.

Collapse
 
sudharsh_em profile image
Sudharsh EM

Since we have so much amazing techs. I placed this question picking the most famous front end frameworks in my locality.

I see "Vue" been suggested by many developers. I have such an urge to lean it as well.

I'll definitely explore it later sometime down the line.

Thanks for your time Bob.

Collapse
 
blindfish3 profile image
Ben Calder

If straying from the options suggested I would suggest starting with Svelte. Absolute minimum of boilerplate so you can concentrate on component based architecture...

Collapse
 
blindfish3 profile image
Ben Calder

Of the two options you suggest I would definitely go with React. Unless you have a technical CS background and you enjoy reading through masses of documentation to implement the simplest feature Angular will be a painful experience. Also it uses Typescript which may pose an additional barrier.

Conversely Angular is opinionated, so it's usually fairly clear what the best approach to a problem is, and the solution is usually built-in; whilst React is more flexible and you'll have to research what's considered current best practice...

Collapse
 
sudharsh_em profile image
Sudharsh EM

Thanks for your time. I highly appreciate your advice.

I was so confused to pick one. Now I see so many developers like "React" a lot which I should try first.

Thanks again.

Collapse
 
sebbdk profile image
Sebastian Vargr

Read up on their architecture and go from there.

Before using someone else's framework i would encourage writing your own first (if you have not already). It gives you more material to understand why/how a framework does certain things.

Collapse
 
sudharsh_em profile image
Sudharsh EM

I would definitely like to try that.