When comparing Fly vs Broccoli, the Slant community recommends Broccoli for most people. In the question“What are the best Node.js build systems / task runners?” Broccoli is ranked 9th while Fly is ranked 13th.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Takes advantage of ES6 features
Fly is written to use new ES6 features like generators and promises.
Pro Support for concurrent tasks
Fly supports parallel processing and concurrent tasks via Fly.prototype.start([tasks], { parallel: true })
Pro Smaller build files, with same benefits of a huge one
If it's a fly-
plugin you don't have to require it like you do with every other build tool. Theres no need for wrapper functions for each plugin (aka .pipe()
). If it's a fly-
plugin you just call it directly. The build file get's to the point quickly without adding all the extra fluff. This makes your build file very clean and easy to read!
Pro Very easy to setup
Fly is easy to setup, there are no caveats that you have to know since everything is very intuitive. Also with fly you don't have to repeat your self several times. You just define out what you want and that's it. If it's a fly plugin it will be required automatically without the need for an additional plugin.
Pro Fly plugins are required automatically
If you want to use a Fly plugin in a flyfile, it's automatically required
without needing an additional plugin.
Pro Can run subtasks inside a task
Fly supports running multiple subtasks in a single task without having to create a new one.
Pro Brocfile fairly straightforward and small
Pro Rebuilds are really fast
In larger apps rebuilds get slower and slower as the size of the application increases. Broccoli deals with this by building only the files that were changed and intelligently figuring out their dependencies. This leads to rebuilds being of O(1) constant-time (in Software Engineering terms).
Pro Chainable plugins
With broccoli developers can chain plugins.
var tree = broccoli.makeTree('lib')
tree = compileCoffeeScript(tree)
tree = uglifyJS(tree)
return tree
Cons
Con Limited number of plugins
There's still a very limited number of Fly plugins. This can contribute negatively in development time and energies spent to make a plugin to complete a task for which there's none yet.
Con Windows not fully supported
Con Assumptions about your project limit what you can do
Assumes you want to always output to single output directory. This directory must not exist at the time of running. It also (therefore) can't be your current directory. This puts broccoli slightly out of the class of a truly general "task runner".
Con Small community
Broccoli's community is still relatively small and not very active, at least compared to it's competitors. This leads to fewer plugins, guides and less support from developers for any problem that you may face using Broccoli.