Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <h1>bower</h1> <p>It's still very popular among front-end developers, even though it has very few features. Every front-end package is using it. There is also an <a href="https://github.com/bower/bower/issues/1520" rel="nofollow noreferrer">initiative to merge bower into npm</a>.</p> <p>Bower is optimized for the client-side and supports only flat dependency trees, i.e. <a href="https://stackoverflow.com/a/18652918/1269037">each library must be used only once</a> (since it's expensive to ship different versions of the same library to the client), and the dependency constraints must be resolved by the user.</p> <p>You can expect to find anything that is front-end related in the bower registry (<code>bower search &lt;some keyword&gt;</code>) -- in my opinion, that's the biggest advantage of bower in relation to other package managers.</p> <h1>volo</h1> <p>I have still not used it for more than 5 minutes in years. Don't know about it, <a href="https://github.com/volojs/volo/wiki/Creating-a-volofile" rel="nofollow noreferrer">but from what I can see</a> it does include some build tool, which is very familiar to Grunt users.</p> <h1>npm</h1> <p>Yes, npm stands for Node Package Manager. But nowadays you can use it for everything; people are no longer only <code>npm install</code>ing things and expecting them to work <em>only</em> in the Node environment. For example, there are many <a href="https://www.npmjs.com/search?q=bootstrap" rel="nofollow noreferrer">npm packages for Twitter Bootstrap</a>.</p> <p>Npm is optimized for server-side usage, with a nested dependency tree. Each dependency can have its own dependencies which can have their own, and so on. This eliminated dependency version conflicts as each dependency can use their own version of e.g. Underscore. However, the upcoming <a href="http://blog.npmjs.org/post/110924823920/npm-weekly-5" rel="nofollow noreferrer">npm version 3 will flatten the dependency tree</a>:</p> <blockquote> <p>With npm@3, your node_modules directory will be a lot flatter. All of your dependencies and most of your subdependencies (and (sub)+dependencies) will be sitting next to each other at the top level. Only when there are conflicts will modules be installed at deeper levels. This should make things a lot easier for Windows users.</p> </blockquote> <p>Some advantages I see on using npm:</p> <ul> <li>It's used by all the other package managers (component, bower, volo, JSPM, etc);</li> <li>Allows using build scripts;</li> <li>Lots of tools are available for introspecting npm-based packages</li> </ul> <p>npm is the package manager for JavaScript.</p> <p><img src="https://i.imgur.com/c2EZppo.png" alt="npmjs.com screenshot"></p> <hr> <p>As of february of 2013, my opinion was the following. <strong>Please don't take it into account anymore.</strong></p> <h1>npm</h1> <p>It's better to stick with it when you are with a Node project, there are very few projects that are available to browsers also...</p> <h1>bower</h1> <p>Bower is the pop guy right now. They have lots of projects under their hood, and the project maintainers like to keep them up-to-date in the bower registry...</p> <p>It's a shame that he's sometimes a little buggy.</p> <h1>volo</h1> <p>I haven't tried volo for more than 5 minutes since so, but from what I could see it looks to be more flexible than bower.</p> <p>A negative point for volo is that their projects are very outdated.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload