Hey folks! Let’s talk JavaScript, shall we? It all started with a tweet from Nate Bailey:

@brad_frost Brain wave: a cheat sheet for web developers that explains, in simple terms, what npm/composer/babel/etc are/do/require/etc
Nate Bailey, Twitter

The general idea is that the JavaScript ecosystem has gotten both complex and bloated in the last few years, to the point where it might look scary for newcomers (and even experienced developers). And this is too bad.

Involving the community

I gave it a night and thought it would be a good idea to have a GitHub repository acting as a glossary for most (all is likely to be impossible) JavaScript buzzwords. This repository, I named SJSJ for Simplified JavaScript Jargon.

The reason why I introduce it in a proper blog post is because I would need your help. Indeed, I would like this to become a community-driven project, as:

  • it is likely to get outdated and die pretty soon if I maintain it by myself;
  • my JavaScript knowledge is good but I don’t know everything, hence the need your expertise;
  • I believe that this is precisely on such a project that the community can kick in.

As of today, not even a week since the creation of the repository, there are already 66 terms listed, 40 of them being properly documented. And each day brings new kids on the block! Generous contributors are generous, I’m telling you.

How to contribute

The cool thing with this project is that an entry does not need to be long. Nobody has to write 700 words on a concept or a JavaScript library. It is all about explaining a word in a few sentences, the simplest way as possible.

Ideally, I would like this to follow the traces of Things Explainer from xkcd, where Randall Munroe explains complicated concepts with nothing more than the thousand most used words from the English dictionary. If we can do that to explain the JavaScript ecosystem, we can make it accessible to everybody, even beginners and this is a big deal.

So how can you contribute to this sweet little project? Well, as of today the best thing to do would be to check for to be completed entry in the README, and fill them. If you would like to document a term that is not part of the list, feel free to add one; as long as it is related to JavaScript.

What’s next?

There are a lot of things we can do from there. For starters, we can make sure that all existing entries are correctly documented, with no mistake, and in a way that is so simple that even somebody with little to no JavaScript background could understand it.

Then, maybe it might be interesting to add categories to these entries, such as libraries, frameworks, concepts, APIs, etc. We could have an alphabetical glossary, and a category-based one. I am not sure it is necessary, but if we hit 100+ entries, it might eventually become needed.

I would also love to see links to related reads inside each entry so that people can actually go further with a concept by browsing these links. On topic, someone suggested to add a link to a StackOverflow tag when possible. I like that idea, so there is that.

In any case, I am open to any suggestion to make this project, so feel free to ping me here or on Twitter to discuss this!

Thank you my friends, and happy coding!