Popular JavaScript tools in (mid) 2017

This post lists very used JavaScript frameworks, libraries, and tools as defined by me (Jeff Wainwright) in (mid) 2017. It is written to provide context for other posts about I write the reference JavaScript tooling—connecting the dots. For deeper context into how I define JavaScript Software, read here.

Connecting the dots
Connecting the dots

JavaScript Frameworks, Libraries, and Tools

JavaScript is the most used computer programming language (2017). There are many frameworks, libraries, and tools to use. To understand what this post is referencing for each tool type here are quick definitions.

  • Framework: JavaScript frameworks provide a methodology for writing code. Methods are provided to write code for software products.
  • Library: JavaScript libraries provide methods to help write code for frameworks.
  • Tools: JavaScript tools provide configuration and methods to build and support frameworks.

Common JavaScript Frameworks, Libraries, and Tools in 2017

In 2017, here are a few heavily used products to create some context for this post.

Frameworks

  • React: React is currently the biggest framework in front-end development. It gained popularity of a few years ago for the shadow dom and has gained popularity for its modularity and mix of cutting-edge-support and support for utility, native and web app software. Note: everyone (including React's documentation) defines React as a library, but the documentation seems framework-like in nature.
  • Vue: Vue is a framework that is growing in popularity. It provides an out-of-box separation of concerns more than React and a smaller fingerprint. It, currently, doesn't have quite the momentum that React does and I've heard it manipulates JavaScript API in ways that are questionable.

Libraries

  • jQuery: People still use it! jQuery makes JavaScript accessible to engineers with a clean and understandable interface with its API.
  • _.lodash: \_\.loDash is a utility library that gives developers utility featuring to write more performant and clear code.
  • Jest: A tool for testing the comes with other very popular testing features built right in.

Tools

  • Babel.js: Babel is a tool that compiles modern JavaScript to JavaScript that can be used in the browser. It is a lot more than a compiler because plugins can be added to it.
  • Eslint: Eslint is a tool that helps ensure JS is written in accordance with defined rules—by Eslint, plugins, or rules set in configuration which can be added in numerous ways.
  • Webpack: Webpack is a bundler. It combines frameworks, libraries, and other tools optimally for web page rendering.

Conclusion: thanks, apologies, and notes

The lists above are very small and debatable. Although, I use some of the tools above—I choose items for each because they seem to be the most discussed on Twitter and Medium at this moment. I'm so appreciative for all of the open source above. Pigeon-holing things is not fun but can be useful for reference.