What is your favourite JavaScript framework?

Did you find this post useful? Show some love!

What, no vanilla JavaScript love in here?

The DOM APIs are, yes, a bit awkward but if you structure your application well it's quite powerful and most of the times is how you can get the maximum amount of performance out of your application.

Personally I like mixing a little bit of messaging (with something like msngr.js) and straight up DOM APIs. However, if I have to work with a large team then I try to find what their strengths are and I go whatever that direction is because, sometimes, being productive is all that matters and you can make a great application in any framework.

I've fallen in love with vanilla JavaScript the past year. With webpack and ES6, it's enjoyable.

And I love your point about team strengths. Decisions to use a specific framework can have costs that span years. It can change the whole dynamic of your team if you're not careful.

We're a Preact team. Can't say what my "favorite" is, but I trust the community in thinking that Vue must be great. It's so well-loved.

Elm sort of counts in this discussion and I've played with it and really like it too.

Elm is so great! I use it whenever things get more complicated than custom mini-libraries written in Neapolitan JavaScript.

I've had great joy working with Stimulus this year. It feels nice and light weight. It works seamlessly with turbolinks if that's your jazz. It pushes you to keep one set of HTML templates, adding a layer of JavaScript on top of them.

If you're already using standard Rails views, it's easy to throw Stimulus in the mix.


Hey there, we see you aren't signed in. (Yes you, the reader. This is a fake comment.)

Please consider creating an account on dev.to. It literally takes a few seconds and we'd appreciate the support so much. ❤️

Plus, no fake comments when you're signed in. 🙃

I've been an Angular dev for over a year now and I really like. Albeit that, I'm starting to shift to/learn React, and I must say they are both great. Somethings I prefer the Angular way, and some others I would definitly choose React.

Never experienced Vue or Elm, but Elm's functional nature does intrigue me.

One of my favourite solutions are web components. So currently I'm using mix of Polymer and lit-html for templating. It is very performant combo, has small footprint and "is native" to browsers/DOM model.


Cycle.js. When I was looking for a new framework for a project at work, I evaluated Angular and React first. Angular had too much "magic", ie stuff that " just works" (except when it doesnt and you spend hours decifering errors and asking what you did wrong). React had a cool idea with the virtual DOM, but the execution is lacking. It never actually was "just the V in MVC". You write classes that have render and lifecycle hooks just like a normal framework. Also Redux sucks when it comes to either deep nested state or asyncc stuff.

Then I found Cycle.js. It was using the virtual DOM idea from React but better. No Components, just factories creating POJOs that are evaluated in patch. Also the stream based programming make it easy to do async logic which was nice because to add life updates via websocket, I just had to add 50 LOC and then merge the data stream of the websocket with my existing data stream from HTTP without changing the rest of the logic. Also it uses purity as advantage when testing so you have an easier time there.
Half a year later, I spoke at the first CycleConf and joined the Core Contributor team.

I love and mostly use Vue.
The main reason is its documentation and kind of monolithic approach.

It was in 2016 when I decided I had to pick up an MV* framework for regular usage. I had tried out Angular.js some years earlier but never gotten productive with it.

I tried most major and some minor players, roughly in that order: Aurelia, Angular 2 (in beta back then), React and, at last, Vue.

The reason I stuck with Vue is that it was the first framework I didn't hit a brick wall with after a few hours of learning.

This was due to two main reasons:

  • The really comprehensive documentation guides through virtually everything you may need to know about the framework. After reading it, you know everything to start with a real app. It also is structured very well, with every chapter building on top of the previous one.
  • Maybe even more important: You get everything right in the Vue framework, basic state management and great support for animations in particular. That may not sound like that big of a deal, but for a newcomer in the framework space, it's a total game changer not having to search for, evaluate and weigh various React state management/animation/routing libraries against each other. Even though I liked JSX and its functional purity, the approachability of Vue simply won over it.

That being said, now that I've collected a bunch of experience with Vue and MV* in general, I'd probably be happy with something like React as well.

Also, everything I mentioned above is state of the art from two years ago. While I haven't looked deeply into other frameworks since then, I've heard of especially documentation having improved greatly for various frameworks.

Vue by far is my favorite. It really works well.

I fell in love with Vue the same way I fell in love with Ruby. Simple and allowed me to get up and running FAST. Then I went back to React and gnashed my teeth, but over time I realized that React made me a better (functional) Javascript developer. This is a tale of How I Learned to Stop Worrying and Love React.

I use React + mobx. My favourite combination to build frontend apps.

That said, I am more interested in the philosophy that Sapper (Svelte) has taken to solve frontend problems. I am not using them yet but I follow the projects with great interest. "The magical disappearing UI framework", it's just that cool :)

I prefer Ember. Its documentation may seem difficult at first glance. The learning curve is hard, I agree.

When I made my first project with Ember I felt pain. Because it was just getting data from Github thanks to API.

Vue doesn't support Model system such as Ember. Anyway, I built my project with minify options I was shocked. Because although only one component, although there is no another library but output size 70kb?

Why? I don't have any idea. But nevertheless, I love Ember. My favorite framework is Ember.

I used Vue, Angular and React in my work projects. I didn't use Ember my work projects. I was scared. Because our projects are very large.

I've worked with angular 1, and angular 2 in the past, but since the end of 2016 I shifted to React and nowadays I make it my choice for personal and professional project, always.

The first thing that makes me enjoy React is that it is not a framework, but a library, so it gives me freedom to choose the other pieces of my application without opinionated matters.

Also, I like the functional nature of React and how it makes simple to compose functionality.

I recently even made an example showing how we can use react, stateless components, a state container solution and higher order components to make a controllable walking cat: codesandbox.io/s/github/armand1m/w...

But yea, Vue is gaining attention, and today I've even tweaked a little bit with Vue + JSX. Still, I have no idea of when I'm gonna shift from React, but as it's history has been until now, I would expect React to become some kind of pattern instead of dying actually.

I've tried Angular, but the constant breaking updates and major versions made me lose interest on it.
I've also tried React so many times, but I could not understant it very well on the beginning (but it now finally "clicked" on my mind).
The first time I saw Vue was in Laravel and I thought "Why?" but now i just fell in love for it and is what I'm currently learning.

whatever works for the job. usually i just go with vanilla es7+ if i can but if im working on something facing the outside world then i would go with react, angular, vue, or something that everybody knows

I've written very large apps with Ember and Vue. Vue is just clean, simple and gets the job done without a lot of fuss. I vote Vue!

It depends on the application and scale in my opinion.

For large, complex enterprise-level solutions, Angular is my choice, preferably v4+.

For other stuff I really enjoy typescript. I've given react a few tries here and there, and I like it as well, but haven't worked with it as often.

My favorite framework is the one I started with - Vue. It's amazing, easy to learn and easy to integrate in existing projects. The way it quietly handles events and other stuff, without bogging us down is awesome. I'm not saying the other frameworks are worse, but I think Vue is a bit more subtle.

My new favorite thing is using Vanilla JavaScript for the majority of the code and sprinkling Vue over it to handle reactivity 😏

I'm a Rails dev, and typing this.props.state makes me rage-y. The combination of vanilla JS, Rails UJS, and Stimulus is my go-to for basic JS.

Yeah vue is very comfortable and easy to start and no complex things

I really like Vanilla JS. People tend to forget there are a lot of features backed by the language and prefer to use external packages for everything.

Yeay But JavaScript is not a framework it's a language

I guess I'm the only one using jQuery? Or that doesn't count?

I really like Aurelia for it's conventions approach and it allows me to still write JS. It probably has the fewest "gotchas" of any framework I've used. I also like React for certain projects.

Angular is my favorite because it can produce highly optimized bundles and scale incredibly well. I like that it also has patterns for common tasks like form validation and making http requests.

I have been playing arround with Hyperapp recently and I've been loving it. It's like Elm without the lang.

Vue, but I've only tried Vue :-D (if you don't count jQuery and ExtJS)

It's simple, the documentation is great, it scales up and it resonates with my brain.

I love Angular as it gives me a full stable setup to work on. Sure it has its own cons though.

Worked with Angular1 before, now started a course Angular-cli to refresh and update. And took a few glances at Vue. Not into React tbh..

I pick libraries over frameworks. Usually it's vanilla js with smallest libraries that solve the problem.

Tried a bit of Angular and while it is nice, React fits me.

If you count React as a library I'd say Vue, but the versatility React gives you is what make it my favourite.

I prefer vue because of its clean design and simplicity.

I've bee working w/ Angular and I'm enjoying it, but I like Vue too (it's simple)

I prefer Angular rather than React when the project is small or medium size. React (redux, sagas, etc) for large size projects It's ok for me.

Classic DEV Post from Mar 5

What's your dream job?


Follow @jess to see more of their posts in your feed.
Sai gowtham
JavaScript developer, Writer & Aws certified solutions architect.
More from @saigowthamr
JavaScript Quiz Part 3
#webdev #javascript #challenge
JavaScript Quiz Part 2
#javascript #challenge #beginners
Trending on dev.to
How did you learn to flex your CSS muscles?
#discuss #css #frontend #react
Automatic `nvm use`
#bash #node #javascript #linux
Would you contribute to a JavaScript OSS Project that uses static types?
#discuss #javascript #flow #typescript
Best Automated Testing Tools for 2018
#testing #selenium #devops #javascript
Don't make that function async.
#node #javascript #async #webdev
JavaScript-sprinkled Rails Applications
#ruby #rails #javascript
What is the best library for a page flip effect in React?
#react #javascript #discuss
Handling and documenting GraphQL errors using Apollo-Prophecy
#graphql #errors #javascript #node