May 24, 2015

Grunt, Gulp, and Slush are Bloatware.

2 minute read, in Code / Method & Craft

The web world is stuck in limbo.

A couple weeks ago, @lionelmann and myself decided to attend a meetup & hackathon; “Task Runners and Build Process Automation”. The night was off to a good start.

First came Robyn Larsen from HackerU (Sam’s colleague) who gave us a nice introduction to what our task runner, “Gulp”, could do. It essentially listens for changes to files we author and runs “tasks” so computers can understand them. For instance, this task “sheet” compiles our SASS into CSS (Cascading Style Sheets)… SASS is a tool which essentially turns one line of SASS into, say, 5 of CSS, for efficiency’s sake). The task-runner lets the browser know files are updated, and the browser loads the new styles in.

There were a few tools which Robyn talked about, and let us know of her task-running plans for the future.

Next was Vlad Filippov, a core developer with “Grunt”. Grunt and Gulp essentially do the same thing.  Essentially, we treat the task-running process as a pipe with built inside: things go in, new things come out. However, the syntax of Gulp is a bit more easy to understand. Lionel and I decided we would continue to use Gulp.

Kent English brought his Task system to the table – it was a large file which directed many build processes. We were skeptical; our build processes should remain lean. We told ourselves we’d strive to keep our main task file at a minimum length; less is more.

Mark Appleby at TWG then introduced “Slush”, a tool that would scaffold, or, bootstrap, a project: it would create files, folders, and a main task-file to build the system out. We were sold: our new projects needed a base to work off of. This was perfect: It pulled in required items, and used Gulp. It did everything, in less lines of code.  less is more.

There’s no need to reinvent the wheel.

Why do we need more systems to build off of? Gulp, Slush, etc.. they introduce more new code – more to learn, and requirements to follow. Granted, they’re useful, but…

Grunt, Gulp and Slush are bloatware.

Kate Hudson was kind enough to open our eyes to the fact that Gulp and Slush’s functionality can be emulated with basic tools. These task-runners have created massive communities of people building off of systems which are, in my eyes, unnecessary.

Here’s why:

  • The terminal command that is used to install grunt, gulp, slush, etc.. already scaffolds directories and runs tasks.
  • Terminal and unix commands aren’t particularly regarded as essential in the frontend community
  • (We don’t need to learn node’s package manager (NPM))
  • People like eye-candy sites and simple commands without having to learn too much documentation
  • … Scaffold a site in no time at all with Yeoman and Slush!

Let’s bring it back to the basics. There are plenty of commands that can already be used to work for us.


comments powered by Disqus