loading...
markdown guide
 

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

 

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.

 
  • 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.

 

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.

 

TL;DR depends on your need and what you like to work with.

  • Angular no because it requires a shitton of dependencies and generates something massively heavy for no benefit.
  • React no because same problem for dependencies, but I also don't want the JSX syntax and the workflow that React imposes on your app.
  • Vue no because even if it's much better than the other alternatives, it still requires quite a hard setup to have something stable and working.
  • MithrilJs yes because it's a very lightweight, dependency-less handler that includes everything I need: routing, resource rendering etc with a very simple API and a very concise syntax.
Classic DEV Post from Feb 12

Five Myths of Salary Negotiation

In this video I debunk five negotiation myths that I've seen personally and from talking with candida...

Der Sascha profile image