Managing application dependancies: top tools

Managing your application's dependencies can be painful, so it's no surprise that almost all languages have package management solutions.

Most people will have heard of NPM when it was associated with Node.js, but there are also options available to client-side JavaScript and other client-side technologies.

Here are four tools that should make your life easier.

01. Bower Bower (opens in new tab) is probably the most popular choice. This was used in the real-time analytics application, but the dependencies were checked in to simplify the getting started process. bower. json is the manifest file used to reference dependencies. One restriction is that Bower supports a flat dependency tree, so multiple versions of the same package aren't supported.

02. NPM NPM (opens in new tab) is generally referenced in assocation with Node.js packages, but the contents of a package doesn't have to be a Node.js module. NPM is seeing increased usage for client-side JavaScript when applications are built with developer tools such as Browserify (opens in new tab).

The manifest file is package. json and NPM (along with Browserify) provides support for deep-dependency tree. This means multiple versions of the same package are supported.

03. (opens in new tab) takes a slightly different approach, based on thinking about packages as Web Components (opens in new tab) that may contain JS, HTML, CSS and so on. JavaScript should be defined and included using a CommonJS syntax. The manifest used is component.json and dependencies can be managed using the component-set command (opens in new tab).

04. JSPM

JSPM (opens in new tab) is an entirely browser-focused solution tied to the System.JS module loading system (opens in new tab) (, which is a Universal Module Loader that means any module type can be loaded. It uses package.json and dependencies can be referenced and retrieved from JSPM or NPM.

Words: Phil Leggetter (opens in new tab)

Phil Leggetter is an expert in real-time web technologies, JavaScript, HTML5. Follow him on Twitter at @leggetter (opens in new tab).

Like This? Read this!

Thank you for reading 5 articles this month* Join now for unlimited access

Enjoy your first month for just £1 / $1 / €1

*Read 5 free articles per month without a subscription

Join now for unlimited access

Try first month for just £1 / $1 / €1

The Creative Bloq team is made up of a group of design fans, and has changed and evolved since Creative Bloq began back in 2012. The current website team consists of six full-time members of staff: Editor Kerrie Hughes, Deputy Editor Rosie Hilder, Deals Editor Beren Neale, Senior News Editor Daniel Piper, Digital Arts and Design Editor Ian Dean, and Staff Writer Amelia Bamsey, as well as a roster of freelancers from around the world. The 3D World and ImagineFX magazine teams also pitch in, ensuring that content from 3D World and ImagineFX is represented on Creative Bloq.