5 ms·
Gulp is really great and better, than Grunt, but sometimes make seems to be a good choice that people forget about.
by tete 11y ago
Gulp is really great and better, than Grunt, but sometimes make seems to be a good choice that people forget about.
- devNoise 11y agoI tend to agree that Gulp is better than Grunt. I prefer the code over configuration approach Gulp takes. The other benefits is that Gulp is streams based and will save you a lot of disk I/O over Grunt.
- tokenizerrr 11y agoI recently tried switching from Grunt to Gulp and was expecting to see improvements in build times, but my builds actually wound up taking about 2x as long (on an ssd). Maybe I was doing something wrong, I don't know, but it was pretty disheartening. Here is my Gruntfile in case anyone cares: http://hastebin.com/wezizasiye.js http://hastebin.com/wezizasiye.js
- tdumitrescu 11y agoIf build time is a big concern, I'd suggest Brunch. It starts out fast and it caches previously built assets so that subsequent builds are incremental.
- rout39574 11y agoHow is that different from make?
- tbolt 11y agothis post encapsulates why development with js can be a nightmare. you start with grunt because that's the cool one, then everyone shifts to the new cool one -gulp- but oh wait, if you are concerned about build time, you need to be using this other new hotness.
- nailer 11y agoI'd rather use JS than add shell mixed in with Makefile. Two extra languages just to run a build system seems like adding unnecessary complexity.
- aaronem 11y agoI find it depends on the scale of the project. If I just need something to encapsulate my test runner and packing tool invocations, then I'll just toss those in a five-line Makefile, because why add a heavyweight build tool most of whose capabilities I'm not going to exercise?
- rout39574 11y agoShell and make are pervasive. If you're not comfortable with them, you will glean great value from becoming so. Your perspective rings to me like "There's plenty of technical literature in Mandarin; learning English just to ...." Not wrong, per se. But profoundly limiting, and to an extent you won't comprehend until you've crossed that knowledge barrier. Elswhere in this comment stream someone talks about the 'innovation' of incremental builds in the JS build tool landscape... I think you might find that Make discovered, and solved, most of the build-system challenges the language-specific tools will encounter, decades ago.
- zaphar 11y agoExcept one of the most important ones. Hermetic and 100% Reproducible builds. Sadly most of the Make replacements still haven't really solved that one either so your point still stands in a way.
- nailer 11y agoIt's a dependency graph. It's just a data structure. You can do that in any language. Saying you need automake for a build system, or would gain anything from doing so compared to a native system, is akin to saying you need another language for arrays. Regarding your popularity argument: amongst other JS developers you'd get more network effect from gulp. If your backend is, say, Python or Ruby learning automake wouldn't help you there either.
- AdrianRossouw 11y agosince i switched to webpack, i've had very little reason to use gulp in my projects. Anything extra was very easily managed by some simple Makefiles.
- k__ 11y agoSame here. It didn't just eliminate the use of gulp for much things, but also minimized the boilerplate I needed to get this stuff done in gulp. Everything is just a "loader" away and doesn't need much configuration. I even got rid of Bower for most libraries.
- Plugawy 11y agoCan you post some examples of your Makefiles? I'm trying to work out how I can replace Rails' asset pipeline without getting a headache caused by overwhelming number of node-based tools I'd have to install. Having one tool + make sounds like something I'd gladly adopt.
- williamcotton 11y agoHere's something I made about 6 months ago: https://github.com/williamcotton/makeify https://github.com/williamcotton/makeify
- Plugawy 11y agoNice one! Thanks a lot
- kasbah 11y agoYes, I feel like both Gulp and Grunt miss something fundamental that Make still has. I don't want to depend on other people's plugins for basic tasks and I want to only rebuild the stuff that changed. I tried Gulp with some 'notice if changed' plugins but it didn't seem to work so I end up sticking to Make. Some of my Make build systems have gotten a bit unwieldy so recently I have been looking at using Ninja and ninja-build-gen from npm. This way I can still write my configure and my build tasks in JS/CoffeeScript and get to use a modern less cluttered version of Make that will scale well with the project.
- hyperhopper 11y agoMake doesn't work on windows. Its not cross platform, while Node, and all technologies built on top of it, are.
- deleted 11y ago[deleted]
- zaphar 11y agoWhat? http://gnuwin32.sourceforge.net/packages/make.htm http://gnuwin32.sourceforge.net/packages/make.htm
- dauoalagio 11y agoMake can be good but can also be quite tedious/verbose to get started. I actually prefer using the npm scripts and using the binary files in `./node_modules/.bin/{ webpack, babel, etc }` Takes no time at all and there is no interface that can break like in gulp or grunt
- Killswitch 11y agoI too used to do this, until I needed more complex things, or am trying to find a bug in my code and have to make a few small edits, save, run `npm run build` then refresh my browser, make changes, repeat step 40 times in a 15 minute timespan. Or I can create a couple gulp tasks (which honestly, is easy as heck) then a watcher using livereload, and run `gulp watch` then just be done with it.