DEV Community

Ben Halpern
Ben Halpern Subscriber

Posted on

What’s the best JavaScript framework?

I understand that this is a bad question and I’d always refute the notion of “best”.

But acknowledging that, let’s debate this out for fun. 😄

Top comments (107)

Collapse
 
dmtrkovalenko profile image
Dmitriy Kovalenko • Edited

meme

Collapse
 
zerquix18 profile image
I'm Luis! \^-^/

This made my day, my week, my month and my entire 2019 so far.

Collapse
 
cheston profile image
Cheston

Beautiful!

Collapse
 
itscosmas profile image
Cosmas Gikunju

😂😂😂 You beat me to this

Collapse
 
vladimir_dev profile image
vladimir.dev

I like this answer the best

Collapse
 
itscodingthing profile image
Bhanu Pratap Singh

you are right my friend 😂

Collapse
 
kristijanfistrek profile image
KristijanFištrek

This is a trump card.

Collapse
 
robinaspman profile image
Robin Aspman

fraemwurk

Collapse
 
ben profile image
Ben Halpern

Can I build the DOM into my server?

Collapse
 
merri profile image
Vesa Piittinen

Yes, you can! I've actually considered trying out sometime how performant it is(n't) to use jsdom to output HTML on a "real" server :D

Collapse
 
lampewebdev profile image
Michael "lampe" Lazarski

Haha please tell me this is not real!

Collapse
 
alexander171294 profile image
alexander171294

I think that the real definitive backend framework is Mozilla 😆

Collapse
 
adam_cyclones profile image
Adam Crockett 🌀

Vanilla js is great they have an awesome website too. Go and download a copy!

Collapse
 
therealkevinard profile image
Kevin Ard

Haha been using js for 15 years, and today is the first time I've looked for js.com 🤷‍♂️

Collapse
 
adam_cyclones profile image
Adam Crockett 🌀

This is the OP hipster framework.

vanilla-js.com/

Thread Thread
 
therealkevinard profile image
Kevin Ard

I friggin ♥️ that page.

BYO-Bundle! Hah!

Collapse
 
steveblue profile image
Stephen Belovarich

The best JavaScript framework is always the one you haven’t used.

Collapse
 
codeshard profile image
Ozkar L. Garcell

LoL. This answer should be printed in Christmas greetings cards

Collapse
 
steveblue profile image
Stephen Belovarich

I was thinking fortune cookie 🥠 but I’ll take it!

Collapse
 
niorad profile image
Antonio Radovcic

Angular? No Google or bust.
Vue? It's basically one guy, come on.
React? Boo, Facebook evil! And also pretty much one guy.
Preact? Get the FUCK OUT OF HERE.
Backbone? Stupid name, no way.
Ember? Come on now you're just making up names.
WebComponents? That's not.. has nothing to do wit.. just forget it.
Meteor? Yes take the spaghetti to the server, too no?

I don't know man, they all suck. Just throw a coin or something.

Collapse
 
defiance profile image
Defiance Black

With an aversion to JavaScript, I'll just comment that while learning Python/Django, I've been lead towards reading the docs of backbone.js. It's tolerable; the two map pretty nicely to each other. I also like the look/docs of riot.js.

Otherwise, yes; 100%, your comment.

Collapse
 
niorad profile image
Antonio Radovcic

Just like the post, my comment is a joke.

Thread Thread
 
defiance profile image
Defiance Black

It's not wrong. :)

Collapse
 
diegoisco profile image
Diego Isco • Edited

It depends

For a simple portfolio => VanillaJS
For a cool project to show=> React
For a complex app => Vue
For an enterprise-level app => Angular

That's all IMO 👻

Collapse
 
prahladyeri profile image
Prahlad Yeri

For enterprise apps, angular is a devil considering they made so many incompatible version upgrades and it is such an opinionated framework. Something stable like jquery and/or backbone is more suitable for enterprise apps.

Collapse
 
therealkevinard profile image
Kevin Ard

I think the enterprise appeal with Ng is its opinionated project structure. There's not much wiggle-room, so onboarding a new Ng dev to a 3-year-old Ng project is almost nil. ... compared to something else, this hire may take weeks to hit velocity.

And by "enterprise", we mean somewhere large enough that employee churn is part of the game, and devs are disposable.

Collapse
 
elasticrash profile image
Stefanos Kouroupis

I never expected I would agree with anyone in this kind of thread ..yes 👍

Collapse
 
geekbro profile image
Geek

What? Angular for Enterprise-level app? Angular's inconsistency can't make it. LOL.

Collapse
 
rhymes profile image
rhymes

Collapse
 
sm0ke profile image
Sm0ke • Edited

funny

Collapse
 
thatjoemoore profile image
Joseph Moore

Honestly? I've never had a better developer experience than in the late 2000s with backend-rendered templates with a sprinkling of jQuery for dynamic bits.

It was fast, accessible, worked in every browser, and if you did things right (caching, streaming the header before the body is ready, etc.), navigations felt seamless. We've still got some of these running that haven't been touched in a decade (other than updating dependencies and changing company themes).

clip from The Simpsons: old man dancing, singing "gimme that old-time fun"

But, when I really need the interactivity of a JS framework, my go-to is Vue, though I am very, very interested in the approach used by Svelte. I also really like Web Components with lit-element, but I feel there's still a bit of work to be done by the community to reduce the amount of plumbing needed to build a full app with them.

Collapse
 
thatjoemoore profile image
Joseph Moore • Edited

Now, to get really controversial: nothing's better than an page with just the standard header and an iframe containing the body.

Except maybe <frameset>...

Animated: old man breaks a plate and says "come on, grease monkey, let's tangle!"

Collapse
 
prahladyeri profile image
Prahlad Yeri • Edited

Wondering if anyone here has heard about thing called backbone.js. Though its an old framework, a large part of enterprise world still prefers it instead of modern ones like angular/vue.js.

On the backend or node side, express probably wins hands down.

Edit

I'm curious about the "popular" frameworks' popularity, so I've started a twitter poll myself. Do vote and let me know your choice!

Collapse
 
gypsydave5 profile image
David Wickes

Backbone... now there's a name I haven't heard in a long time...

Collapse
 
remon profile image
Raymond (Remon)

It was the first framework I used , old is gold :D

Collapse
 
defel profile image
defel

We had this in production 11 years ago.

Zombie Views, Zombie Views everywhere.

Collapse
 
andrewbrown profile image
Andrew Brown 🇨🇦 • Edited

DilithiumJs

Pending its completion.

import * as m from 'mithril'
import { Component } from 'monster'

import JourneyChapter from 'components/journey_chapter'

export default class Journey extends Component
  expects:
    chapters:
      presence: true
      array: true
    target: true
    user: true
  render:=>
    console.log 'chapters', @chapters
    m 'section.journey',
      m '.wrap',
        m '.section_title'
          m 'h3', 'Your Journey'
          m '.clear'
        m '.body',
          m '.chapters_wrap'
            m '.chapters',
              for chapter in @chapters
                m JourneyChapter,
                  chapter: chapter
                  target: target
                  user: user

It's used to power ExamPro and I've been working on an end-to-end tutorial on how to use it:

I organized the code into star trek-like departments

The CLI is also star trek inspired. So when you want to create a new app you type:

computer begin program <name-of-web-app>

Why create a new Javascript framework?
Modern framework feels over-engineered. I want to have the productivity that I used to have but I need a framework that is:

  • isomorphic,
  • solves all common use cases
  • has a strong dsl
  • with great documentation.

Some comments may only be visible to logged-in visitors. Sign in to view all comments.