Grunt made it a non-brainer thing to carry out tasks that were more cumbersome to setup before. More often than not I would not dare to clone a repo and give it a try, if I had to set up many dependencies. Now I feel relieved when I see it contains a Gruntfile.js file.
Chaining calls is not only clean, but Gulp also avoids the creation of intermediary files. You could convert LESS files to CSS, concatenate them and minify the output, and only then write the ouput to disk. It is the concept of streams that UNIX commands follow.
I have tried Gulp to mimic a rather small Gruntfile.js, and using it feels a lot like using Grunt. For now I don’t see a big reason to migrate to Gulp, but I would definitely like to try it in bigger projects whose build process is more complex.
The truth is that Grunt’s ecosystem of plug-ins is very large, even though it is relatively young. You just need to search for what you need and you will very likely find a mature plug-in that does exactly what you need.
Creating a plug-in for Gulp from a Grunt’s one is pretty straightforward, so we can expect an explosion of available plug-ins in a near future. I’m only concerned about the duplication of code and the maintainability of the plug-ins once there exist different versions depending on the task runner. Actually it would be great if they could be reused somehow or be compatible with both Grunt and Gulp if they both become widely used.
I will keep watching how the community around Gulp develops and what the general feeling is. For now it looks very promising, and I’m looking forward to see how both Gulp and Grunt evolve.