I'm tired of "Tools Every Developer in 2020 Must Know" articles.
They're mostly re-used content from the previous year and usually 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"?
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.
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'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.
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.
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.
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.
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!
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?