
Significant JavaScript projects from 2006 to 2020 - michaelrambeau
https://bestofjs.org/timeline
======
grouseway
I feel even a list of the 5 most impactful js projects should include Firebug.

Firebug played a huge role in removing the shroud around javascript and making
it approachable to a lot of people, helping them introspect others code, and
improving their own code quality. After it, javascript became a beast you
could tame rather than a source of endless frustration.

~~~
alxlaz
It didn't only remove the shroud that made it difficult to work with for
beginners, it made an _incredible_ difference in terms of being able to use
JavaScript for serious application development. When Firebug showed up, the
JavaScript development tools were basically where under 1,000-dollar, pre-
Turbo C development tools were on the PC, except slower, too. That didn't stop
anyone from writing complex JavaScript programs, of course, but it was
extremely useful in getting people to take it seriously, and in making people
in established organizations trust it for complex UI work.

I don't have words to say how dreadful JS development was before that.
Debugging was extraordinarily limited by default, and we all had bits and
pieces of debugging functionality pieced together from a variety of projects,
most of which were glorified "debug by printf" hooks which sometimes
interfered with the real application logic, and you ended up having to debug
your debug code instead of whatever was actually broken.

------
hardwaresofton
For those that are disappointed at the omissions in the timeline:

> Disclaimer

> We could have mentioned a lot of other projects: > [lines omitted] > ...but
> we had to make choices to keep this timeline compact.

> The 2 main constraints were:

> We wanted 20 projects because we are in 2020 > We wanted at least one
> project for every year between 2010 and 2020.

Reasoning kind of dumb, since this could have been a much more impactful post,
but glad they laid out their reasoning. They missed some major precursors to
the web we know to day -- Node Webkit existed before Electron IIRC, there's
stuff like MooTools, Ember has been around basically forever (and SproutCore
before that), Backbone isn't mentioned, KnockoutJS started the MVVM craze
IIRC. In more recent time, they left out Parcel which is by far the easiest
bundler I've ever used, JSPM & SystemJS were left out as well.

I wonder if there's a better timeline out there for the history of JS tooling.

Given the disclaimer at the end, they predicted people would be unsatisfied
with the omissions... They were right

~~~
armandososa
I think Backbone is a really big omission, specially because it credits
Angular for the popularity of the SPA and in doing so practically erases
Jeremy Ashkenas and his awesome contributions from Javascript history. I would
argue you can trace modern JS to Backbone, Underscore and CoffeeScript.

~~~
switz
I had the exact same reaction. Sticking Angular in there with no mention of
Backbone is revisionist history. Backbone was _everywhere_. ES6 doesn't
coalesce without Coffeescript either. Firebug is another glaring omission.
What about npm? Chromium? MDN? ECMA2015? querySelector/modern DOM APIs?

As someone who has been writing javascript for over a decade, I find this list
to be really disingenuous. Putting projects like Rome, Snowpack, and Deno
alongside jQuery is almost laughable. They certainly have large potential
upside, but they have yet to have any significant tangible impact on the
Javascript community. I'm all for them and will continue to support their
development, but why not mention the projects that had genuine _historic_
impact. Does angular really belong here twice? I'm not sure it belongs even
once.

I suppose it shouldn't bug me this much.. it's just a list. But given
everything the developers of these projects have given me, I'd like to see
them get the credit they deserve.

------
andrew_
Ugh. Was the author of this article in the field since 2006? From the look of
this list, I'd wager not. Almost resembles a cherry pick of Google results.
Listing VSCode without listing it's precursor and source of inspiration (Atom)
nor the platform which enabled VSCode to be a thing (Electron) is mind-
bottling¹. We're going to list Snowpack (new last year) but omit Rollup (hey,
Webpack made it and it drives three other projects listed there), which is
what drives Snowpack?

Should've been called "Some old school stuff I heard about and shiny projects
with lots of Github stars." Sloppy click-bait work, this.

[1]
[https://www.youtube.com/watch?v=rSfebOXSBOE](https://www.youtube.com/watch?v=rSfebOXSBOE)

~~~
redsky17
Electron is listed as #9 as the entry for 2013.

~~~
andrew_
Bananas. I'm not seeing that on my end (Chrome). Opened Firefox and there it
is. Might be time to nuke this Chrome install.

------
darepublic
A low key ad for Rome imo. I thought the title was a metaphor for the
JavaScript empire into its current state not the name of a new library.
Nonetheless seems worth checking out

~~~
vmception
> Rome is designed to replace Babel, ESLint, Webpack, Prettier, Jest, and
> others.

Sure, why not.

Cool, lets see if it works out

~~~
captn3m0
Rome has zero deps, which is big win over the alternatives imo.

~~~
mikewhy
Still though, it casts a very wide net. I'm super fond of simplifying things
and having fewer dependencies (one reason why I prefer TypeScript over Babel),
but I'm not sure why I would want my test runner to ever care about formatting
code, or why I would want my Markdown formatter to ever worry about bundling
JavaScript files.

Still, very excited to check it out!

~~~
Macha
I think tying an opinionated linter/code style tool to the rest of the tools
is going to limit adoption. While people point to gofmt/prettier as examples
of opinionated tools winning, Eslint (fully configurable) is still more
popular by downloads than prettier (slightly configurable) and both are way
more so than standard (not at all configurable).

------
imedadel
It should be noted though that Rome is not a project by Facebook. It's by
Sebastian McKenzie (@sebmck), who started working on it as a side project
while working in Facebook. But he's working in Discord now. And the project is
totally owned by him.

~~~
goleary
Yeah I was going to say he probably won't be happy seeing it presented this
way considering his current public opinion on Facebook.

------
halfmatthalfcat
Where's Backbone, Ember, Coffeescript (the OG transpiled lang), HTML5, CSS3,
WASM, ect, etc.

The road to today is paved with many influential projects.

~~~
JamesSwift
And browserify, gulp, grunt, babel..

~~~
postalrat
Babel for sure.

------
legerdemain

      > Babel #13
      > First called `5to6`, the compiler Babel helped make the
      > ES6 version of JavaScript popular and was a key part of
      > React success.
    

It was called "6to5" for reasons that should be obvious.

But it's also just an irrelevant factoid on a timeline that at first seems to
be a history of influential JS projects over the past 15 years, but in reality
just takes some projects that are well-known today and kind of arbitrarily
arranges them.

------
ubertaco
The article omits some major influential JS projects over the years that folks
have already pointed out (Backbone, Coffeescript, Underscore -- and I'd add
Require.js, as a commonplace early AMD loader before ES modules were a thing).

And then it also lists 2 projects that, frankly, I've never heard of (and I
try to keep pace) and speaks of them in suspiciously-glowing terms,
speculating about them being significant in the future.

Fine, you can't always know today what will have had the biggest impact in 5
years, but the result is that this reads like a really bad "puff piece" ad for
those two projects.

It's like when you see blog posts from some SaaS company about "best practices
for <industry>", and the first few tips are either obvious or wrong, and the
last few tips are "buy our product!"

------
bachmeier
Not a web dev. Don't know much about Javascript itself.

MathJax might be the most significant JS project ever. It enabled something
that couldn't really be done before it came along, displaying complicated
equations in a readable manner.

Ace deserves at least an honorable mention. I was able to add a full-blown
text editor to a CGI app with little effort. I'm pretty sure it's been around
longer than VS Code and it's been used in more major projects.

------
michaelrambeau
This is Michael the author, thank you all for your feedback! This timeline was
like a game, trying to find a balance between projects that made the history
and bets for the future. The disclaimer explains some of the rules but of
course the result is not perfect. I should have added that all projects
mentioned are GitHub projects tracked by Best of JS app (the app I created in
2015) I totally agree about the importance of Firebug that I discovered in
2005 or 2006. Being able to debug JavaScript was such a liberation! JavaScript
was no more just a toy language.

I also agree about some projects should have been mentioned, at least in the
disclaimer, mainly Backbone and its friend Underscore because at the beginning
of 2010s, it was a kind of standard to build clean apps in the browser, using
a MVC pattern.

In addition of the Rising Stars projects
[https://risingstars.js.org/](https://risingstars.js.org/) that provides an
overview by year, this timeline was the first attempt to provide a big picture
about the landscape of the 10 last years, I will try to create something more
thorough soon.

------
maps7
Nice summary. Deno v1 was only released this year though: May 13, 2020

------
EE84M3i
This is a cool list, but I was kinda hoping to see a shout out to prototype.js
and script.aculo.us in the epilogue.

------
Mooty
Still looking for stuff to replace Wordpress and jQuery in this area. This
trend is cool but requires a technical hurdle way bigger than before with lots
of tradeof (backward compatibility/easy introduction to
programming/performances on frontend).

------
egfx
Sadly there are some glaring omissions.

How about Enyo the predecessor of React? If there was no Enyo there would be
no React since a team member on Facebook was originally inspired by it ...
[https://en.m.wikipedia.org/wiki/Enyo_(software)](https://en.m.wikipedia.org/wiki/Enyo_\(software\))

How about PhoneGap? A Javascript library that allowed you to write native
mobile apps for the first time.

------
apacheCamel
These posts and subsequent comments always prove me to that the wide world of
JavaScript has so much more to offer than I could ever imagine. I've only used
a very small subset of tools, I really wish there was an easier place to
visualize all the available tools and what they accomplish. I don't know what
I don't know so it is hard to even begin.

------
120bits
Nice article. I really liked MeteorJS and thought it had lot of potential. Sad
to see it didn't make to 20 projects in 2020.

------
stuff4ben
This list shows how out-of-date I am with frontend webdev. I last did frontend
stuff with Spring MVC and JSPs!! Yeah it's been over a decade. I was also
using table-driven UI element placement still and hadn't fully switched over
to CSS. I'll get there someday...

------
Lammy
Nobody remembers MooTools

~~~
petercooper
For those into trivia, MooTools curiously popped up again a couple of years
ago when the 'flatten' method was being discussed and it was suggested that it
be called 'smoosh' to avoid breaking MooTools apps(!)
[https://github.com/tc39/proposal-
flatMap/pull/56](https://github.com/tc39/proposal-flatMap/pull/56)

------
node-bayarea
Really like this bestofjs.org site! Kudos to the creator(s)!

------
segmondy
not sure why you started from 2006 maybe because of query. but I would go a
bit back.

Gmail - 2004 Google maps - 2005

These were the things that really woke us up that js is a game changer.

------
thrownaway954
i did not know that vue was 7 years old already.

------
sramam
my additions: npm and esprima

Both had significant impacts on the JS developer-experience.

------
pacomerh
shouldn't take this list too serious. Rome is here?, it's pretty new hasn't
proven it's success. also, Three.js, Atom, are not here?

------
nojvek
Site doesn’t load on iOS even after a minute.

------
dragosmocrii
Is Rome supposed to do what Svelte does?

~~~
tiborsaas
No, it wants to be your one stop shop:

> Rome is a linter, compiler, bundler, and more for JavaScript, TypeScript,
> JSON, HTML, Markdown, and CSS.

> Rome is designed to replace Babel, ESLint, Webpack, Prettier, Jest, and
> others.

