hyperoslo / javascript-playbook

A place to define our conventions for working with JavaScript
5 stars 0 forks source link

Gulp or Grunt? #10

Closed fespinoza closed 7 years ago

fespinoza commented 9 years ago

the angularJS team is working with Gulp now instead of Grunt... but I would like to understand more that reasoning

mathiasbno commented 9 years ago

I don't know to much about Grunt but I have used Gulp in a private project.

Grunt: The first one out of the gates. The initial versions are meant for smaller projects, but it has evolved a lot and should be ready for taking on bigger projects and be maintainable. A good thing with Grunt is that it has soooo many plugins. And in cooperations with bower it should be a all in one package.

Personally I think the code structure is a bit clunky, at least compared to Gulp. But i really like the implementation with bower.

Gulp: Based on Node.js it is a bit leaner then Grunt. Good things with Gulp is that all the plugins are written in node and are a lot less tied to Gulp it self, not like plugins in Grunt. The unfortunate thing is that there is not to many plugins for Gulp yet. A thing that I'm not to familiar with is the stream functionality that Gulp uses, @sindrenm can probably elaborate on this. But as far as I have seen the stream makes running task super fast. Gulp uses npm in the same way that Grunt uses bower.

In all honesty they are really simular, Gulp might be a bit more on the bleeding edge. Thats is of course a good and a bad thing.

If I where to choose, I would pick Gulp.

And as a disclaimer theres probably a lot I have missed, hope @timkurvers, @sindrenm and @fespinoza can fill in :)

Grunt vs. Grunt. Fight!

timkurvers commented 9 years ago

As far as I'm aware both Gulp and Grunt are Node.js executables and rely on npm modules to do their work.

One of the major differences is that Gulp seems to advocate stand-alone modules (that is, having nothing to do with Gulp specifically), whereas Grunt has an ecosystem of a gazillion plugins tying all sorts of functionality together. This makes Grunt much more plug and play, but since a Gulpfile is executable code rather than a configuration file, anything can be incorporated.

There are a couple of hiccups with the state of Gulp last time I checked, especially error handling (see gulp-plumber), but this may have improved.

I'm with @mathiasbno on Gulp's readability and cleanliness, it's quite amazing: https://github.com/timkurvers/attr-accessor/blob/master/Gulpfile.coffee

mathiasbno commented 9 years ago

Yeah, error messages in Gulp was a bit broken. I haven't used it for 6 months now. Might have changed.

Although Grunt is a bit more plug and play, I like the configurability of Gulp.

I don't know the state of testing in Gulp? But that might be a big selling point for Grunt if its not implementer in Gulp yet.

fespinoza commented 9 years ago

I see there is more inclination for gulp

I kind of like the syntax better of gulp. but I haven't tried it yet

sindrenm commented 9 years ago

What about webpack? :wink:

timkurvers commented 9 years ago

Gave it a shot for Wowser, but I wasn't really sure what to think of it :open_mouth:

sindrenm commented 7 years ago

Wait, what? Was I the first one to propose webpack‽

timkurvers commented 7 years ago

😄