Java vs. JavaScript Build Tools

Thomas Uhrig · November 14, 2016

When you come from a Java background like I do and you take a look at JavaScript, the sheer mass of tools is overwhelming. The ecosystem is evolving very fast with new tools coming up every couple of months. Below, I tried to give a comparison between Java build tools and their equivalent in the JavaScript world.

Preface

The list below aims to show similarities - not differences. Of course, every tool has its own set of features and individual strengths. The tools on the left are not the very same as the tools on right, just for another software stack. However, to see some similarities might help to better understand how the JavaScript world works.

Runtime

Java Logo NodeJS Logo
  • Platform where all tools will run on
  • Executes scripts, tests, etc.

Task Runner

Gradle LogoANT Logo Grunt LogoGulp Logo
  • Executes scripts and orchestrates tasks
  • Copy files, uglify, minify, package…

Package Manager

Maven Logo Bower LogoNPM Logo
  • Dependency Management
  • Versioning

Test Runner

junit karma
  • Tests and Test Suits
  • Execution of tests

Mocking/Assertion Library

Hamcrest Logo Jasmine Logo
  • Assertions and expectations (assertThat(1 + 1, is(2)))
  • Mocks and stups

Best regards, Thomas.