Week In Review: Dependency Management

dependency-managementThis week we cover dependency management. Dependency management is simply a way to manage libraries and framework used in a project.

It is very useful if you are using a lot of 3rd parties libraries and framework in your application / project.

My first encounter with a dependency manager is Composer, which was mentioned by Juan Treminio during my research into Unit Testing and Test Driven Development.

Other than Composer, there are two more important dependency manager, PEAR and PECL which are used by PHP developers worldwide.

The concept of Dependency Management itself is not new and is well know in the Linux world as Package Manager. Examples of Linux Package Manager include RedHat .rpm and Debian .deb.

PEAR and PECL are the defacto dependency management tools for PHP developers since 2000, way back to the near beginning of PHP language itself.

While PEAR deals with PHP scripts, PECL deals with PHP Extension, commonly written in C libraries. Both extends the capability of PHP.

Composer, while a relatively new comer, is the star of dependency management tools in PHP because it is easy to use. Also because it can be used per project and can download source codes from github. Compared this with PEAR which must have its own server package.

So, in summary, dependency management tools have come a long way and is helping developers reuse code that others have built. While there are still a lot of developers writing their own code and not re-use others, time is changing. There are now more re-use of code than ever before. The popularity of dependency management tools have shown this.

Do you use other developers libraries / framework in your application ? What dependency manager do you use ?