DEV Community

Sai gowtham
Sai gowtham

Posted on

What is your favourite JavaScript framework?

Top comments (58)

Collapse
 
krissiegel profile image
Kris Siegel • Edited

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.

Collapse
 
derekjhopper profile image
Derek Hopper

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.

Collapse
 
julesmanson profile image
jules manson

look at my comment a few above this one.

Collapse
 
ben profile image
Ben Halpern

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.

Collapse
 
sait profile image
Sai gowtham • Edited

I'm also the fan of Vue

Collapse
 
ben profile image
Ben Halpern

You did tag this post with vue 😂

Collapse
 
dmerand profile image
Donald Merand

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

Collapse
 
renannobile profile image
Renan Lourençoni Nobile

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.

Collapse
 
jvanbruegge profile image
Jan van Brügge

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.

Collapse
 
derekjhopper profile image
Derek Hopper

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.

Collapse
 
_ergo_ profile image
Marcin Lulek • Edited

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.

polymer-project.org/

Collapse
 
raguay profile image
Richard Guay

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

Collapse
 
raguay profile image
Richard Guay

I've changed to loving Svelte v3 the most. It is much easier to use than Vue. It also helped my projects to be super small and fast! Check it out.

Collapse
 
itachiuchiha profile image
Itachi Uchiha

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.

Collapse
 
aodev profile image
AoDev

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 :)

Collapse
 
armand1m profile image
Armando Magalhães

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.