DEV Community

Der Sascha
Der Sascha

Posted on

Angular vs vuejs vs react vs ...

Today there exists some frontend (JavaScript / Typescript based) Frameworks like Angular, Vuejs, React, Ember... and so on. What did you and for which Scenario prefer? I'm very interested in you Response.

Latest comments (4)

Collapse
 
hacknaked profile image
hacknaked • Edited
  • Angular:

It's a monolitic over-engineered monster. Relatively easy to start a new project (if you follow the Angular way!) but really hard to leave or replace libraries/components. You'll be married to Angular (and the Angular Team) forever, and you'll suffer.

  • React:

Not very easy to start a project if you don't have experience with JS tools, but simpler than Angular. That's the main reason React is more popular and killing Angular.

  • Vue:

Simpler than React (and avoids the ugliness of JSX), more flexible, clear and performant. Superb documentation and tools. Start new projects is trivial. Some people think that React is the most popular framework, but VueJS is used and supported by most of Asia StartUps and web communities. In my opinion, Vue is the framework with more potential and the best option here.

Collapse
 
fnh profile image
Fabian Holzer

At my workplace, I'm using Angular for the frontend part, and I consider it a solid choice for us, since we still most of my coworkers have an extensive Java background and the larger part of our system is still not a web application; the tooling support is very good, the community is large and the framework has matured a lot in 2017 (2016 was a wild ride though...).

But since the component orientation is the core idea of Angular, Vue and React, I think switching framework conceptually should not be that hard. I consider it more a matter of taste (although for some people it rather seems to be a matter of religion ;) )

I also like StencilJS a lot, although it is not a framework, but a compiler for standard-compliant, reusable WebComponents, which play along very nicely with most modern frameworks.

And there are interesting compile-to-JS languages worth checking out: Elm is in my opinion a terrific language for certain use cases and with ReasonML facebook is also doing some interesting work to bring another functional programming language (OCaml) to the browser.

Collapse
 
jfrankcarr profile image
Frank Carr

Looking at it from the career perspective...

It seems every job board posting these days for front end or full stack developers wants 5+ years experience in either Angular or React. Vuejs has a following but it doesn't seem to be as strong as the other two. Jobs mentioning Ember, Knockout and some other older frameworks (or even plain old JQuery) seem to mostly be in legacy applications and indicate a desire to migrate away from them.

Aurelia is up and coming framework. It looks like several companies are moving to it. Will it gain ground like Angular and React? Good question.

My take is to understand the fundamentals and then be flexible enough to get up to speed in whatever framework you need to work in at the moment. If I was having to recommend one I'd lean toward Angular since it currently offers the best employment prospects and it's probably easier to find more developers who use it.

Collapse
 
rhymes profile image
rhymes • Edited

TL;DR: follow your gut feeling, you won't go wrong either way.

Hi! My process of elimination was quite simple (after reading a few of those "this vs that" articles you can find on google):

  • Angular no because it seems complicated to learn and I'm not a team of expert frontend developers developing a massive app

  • React no because I didn't really like JSX and again I don't have enough frontend experience to make a completely objective and ponderate choice

  • I choose Vue because it was a piece of cake to learn and had everything I needed

  • Don't know anything about Ember, not even sure I've considered it

I'm currently writing an internal tool for a client with Vue and I'm liking it. Could I have written it in React or Angular? Most definitely.

Speaking in general: keep in mind that I tend to choose "simple to learn but able to handle complexity" against "stupidly complicated because it's over engineered" or "it doesn't feel right to me" when it comes to technologies (I don't have a 100% choice success rate for obvious reasons :D).

That's probably why back in the days I went from Object Pascal/Delphi to Python ignoring everyone that was (rightly so) telling me that PHP or Java were the safest choices to get hired. I had a brief stint as a C#/.NET developer and it felt over-engineered (I was already programming in Python) and not right for me so I abandoned it. Could I have written apps in any of those languages? Most definitely.

Could I have spent 10 years programming with technologies that didn't feel right for me? Probably not.

So, follow your gut :D