Bower.js and the Future of Client-side Modularity
Bower's design seems focused on simplicity and indeed in a true Less is More fashion the application simply downloads and builds the code into a components folder. Using bower requires no configuration at all and packages can be install simply using the install command.
$ bower install jquery bower cloning git://github.com/components/jquery.git bower cached git://github.com/components/jquery.git bower fetching jquery bower checking out jquery#1.8.1 bower copying
The output style is like most node.js CLIs in that it is very terse. While I personally prefer longer messages the output shows all information relevant to the task at hand.
The above example clearly illustrates the simplicity of Bower. However, this simplicity comes at a price, a lack of configuration options. The ability to configure names of folders and files is absolutely crucial for both development and deployment. Therefore, integrating bower into an existing project seems both tedious and error-prone. Similar trade-offs are made consistently across the entire application, for example Bower only supports a flat dependency tree.