Dean Mraz

I am passionate about delivering ideas and spending most of my time on product management techniques.

October 14th 2016

Standardize Front End Development Environments with Docker

On boarding developers to help contribute to front end projects is difficult and time consuming. Most typical front end projects leverage node and npm to install the required dependencies. This process is difficult to get right. Each developer may not have the right local dependencies as well as the right versions. Getting new developers started typically requires the help from experienced developers.

This reminds of a time long ago, trying to get backend server environments consistent between developer machines. The solution was to encapsulate the environment and make it easily distributable between development and production machines. Thus, virtualizing and containerizing solutions emerged, so now we can standardize backend machine environments with software like Docker.

Docker could also be used for front end applications. Consider Docker as the package manager for all software dependencies. It's capable of creating repeatable environments so developers do not have to waste time with installing dependencies and can jump straight into coding.

Using docker to manage client applications can simplify the on boarding process. Developers can simply launch the container and not have to worry about installing the right version of node, npm and bower. Anyone working on the application can use the same working environment and get started in matter of minutes rather than hours or even days for some.

Container Images

  • Official Node container to control node versions between projects.
  • Ember CLI container to start and work on ember projects.