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.

Collapse
 
nagarjun profile image
Nagarjun Palavalli

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!

Collapse
 
sait profile image
Sai gowtham

yeah Vue is very neat and clean

Collapse
 
loilo profile image
Florian Reuschel

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.

Collapse
 
rrackiewicz profile image
rrackiewicz

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.

Collapse
 
weirdmayo profile image
Daniel Mayovsky

Mithril.js without a doubt.
Incredibly powerful framework for creating interfaces. If anyone has never heard of it, they should definitely try it out. I was amazed when I first saw it and fell in love forever.
It is very light, faster than React, and way more suited for Functional programming than popular frameworks out there.
It allows a lot of freedom as to how you want to structure your app and is very forgiving to any of your habits of programming in Vanilla.
Anyone going from Vanilla to Mithril.js will just fall in love immediately. Anyone going from React might be confused at first, but amazed later.

Collapse
 
wolfhoundjesse profile image
Jesse M. Holmes

This sounds fun, and I’m going to give it a try this weekend.

Collapse
 
wolfhoundjesse profile image
Jesse M. Holmes

Wow, there is so much love for Vue! I’m going to play with that and Mithril this weekend.

It’s unfair for me to say that Angular is my favorite. We’ve been codemates for a solid three years now, and I’ve suffered every breaking change with an air of optimism. When the CLI finally got good … and it is good … it was so easy to stop thinking about webpack and versions and all the noise.

It’s such a biased opinion, and I’m falling for React right now. 😉