When comparing Brunch vs Fly, the Slant community recommends Brunch for most people. In the question“What are the best Node.js build systems / task runners?” Brunch is ranked 5th while Fly is ranked 13th. The most important reason people chose Brunch is:
According to speed benchmarks, Brunch is one of the fastest tools around for compiling files. According to the authors of Brunch the reason behind this speed is that it recompiles **only** the changes that were made to an app and performs extensive caching of the app's code.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Compilation is super fast
According to speed benchmarks, Brunch is one of the fastest tools around for compiling files. According to the authors of Brunch the reason behind this speed is that it recompiles only the changes that were made to an app and performs extensive caching of the app's code.
Pro Time to setup is extremely low
After installing Brunch the next step is to load a skeleton from git.io/skeletons. This step is as easy as installing another plugin from the npm registry, just point Brunch to the path of the required skeleton/generator then wait for it to work out its magic. Next, run brunch build
then wait for a second or two and voila! the project is ready.
Pro The configuration file is small and the configuration itself is fast and easy
Brunch's config files can be extremely small compared to other alternatives. The fact that brunch also allows you to chose from a number of generators also lowers the configuration time considerably.
Pro Concatenates scripts and styles and auto-generates matching source maps
Brunch automatically produces a source map for all javascript files and CSS stylesheets whenever it minifies an app's resources. This little feature is extremely helpful when debugging is required at the client end.
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.
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.