25 Projects That Changed the JavaScript Landscape over the 2010s
I'm tired of "Tools Every Developer in 2020 Must Know" articles.
They're mostly re-used content from the previous year and only serve as clickbait to get viewers to sites with questionable motivations. They're boring, unhelpful and undistinguishable from all the others out there.
Yes, we all know React is an important tool to know about. Give it a rest! Try instead to formulate a unique thought that might make others rethink the popular opinion they've heard time and time again.
So, how about an article not about "tools developers must know", but rather, "tools that changed what developers knew"?
In this list, I'm highlighting 25 JavaScript tools that I believe changed the industry over the past decade. All are/were popular, but it isn't ordered by popularity. Instead, we're looking at how revolutionary the ideas were, and how much they impact the JavaScript landscape.
Caveat: Knowing the "first publish date" of a tool is difficult, so I'm focused more on when the tool was popularized than when it was first published.
25. Istanbul
Honestly, it's harder to pick out #25 than it is #1. But I say Istanbul deserves to make the list over others for two reasons:
- It introduced code coverage to JavaScript, which started the decade with few automated testing tools out there. Istanbul promoted the testing discipline by making the lack of it much more visible.
- It's maintained that status as the "go-to code coverage" tool for the entire decade. Throughout the years, it's continued to be well-maintained and updated, which is a huge feat.
Despite my opinion that code coverage is over-emphasized in importance, it's a tough argument that Istanbul hasn't benefitted the industry through better test practices.
24. Prettier
I've used Prettier and I didn't like it. Kind of.
Okay, Prettier is extremely opinionated, and if that opinion is different from yours, you kind of just have to deal with it.
And I think that's the beauty of the tool. Bikeshedding is a real problem in dev teams, and tabs-vs-spaces arguments can quickly turn from fun to frustration when it's your daily life.
Prettier says "Stop!" to all of that. You install the tool, go with what it says, and it takes care of the rest. No options, but no frustrating "Code Style Review" meetings.
23. CypressIO
Developed in 2014, CypressIO has grown to become one of the most popular automated testing tools out there. That's not so revolutionary, until you realize they did it without supporting one of the most requested features out there (cross-browser testing).
The CypressIO team had a hunch that easy-to-write (and run) test automation was by far more important than any other feature. So that's what they focused on, to which they've had much success.
CypressIO is a reminder that many "needs" of customers are really just what they think they should want. You can be revolutionary by not doing something, allowing you to do a more important thing 10x better than before.
22. YUI3
You may not know YUI3. The library hasn't had a code commit since 2014. It's dead, Jim. Aside from that, its main competitor was jQuery, which held market-domination for its entire life.
But the folks at YUI3 were one of the first ambitious groups to create an entire library aimed at solving all of the pressing problems for front-end engineers.
They created a module loading system before module loading systems were cool.
They created a unit test framework before unit test frameworks were cool.
They created... well, the idea was that they tried to create everything. They took a look at the entire ecosystem of the front-end and said, "here's a solution."
All this while at a company (Yahoo!) which struggled year-over-year to get past the giant of Google.
YUI3 may not be remembered by most, but many developers learned many new ideas from it, myself included.
21. Ionic
Attempts to build "web-based mobile apps" existed before Ionic, but none seemed to capture the scope that Ionic has sought and achieved. Riding the furvor around Angular, Ionic offered devs like me a streamlined approach to developing mobile apps using the Angular ecosystem.
I'd say they've succeeded at their mission, as I was able to use Ionic to publish multiple tools to the Google Play and iOS App Store using their functionality. This may not seem like much, but it was important to me.
Ionic changed the landscape for front-end devs by giving us the functionality we needed to make it through the endless approval process involved in publishing a mobile app. And we were able to do it all using HTML, CSS and JS.
They've made a wealth of changes since I last used them a few years back, and the future for the tool looks brighter than ever. If you haven't checked out Ionic yet, take a look and see what you can do with a spare evening or two. It's really fun!
What's coming up!
As much as I'd love to finish covering the other 20 tools right now, I know it's best to split this into a multi-part series. Up next are tools 20-16, all of which focused on tooling/ecosystem improvements. Can you guess what they might be?
Photo by Todd Quackenbush on Unsplash