My Web Development Toolchain

Recently I was asked about some of my favourite Mac OSX apps for web development, I mainly develop in PHP but the all these tools can be used for Python, Ruby etc development with the exception for PHPUnit.

####Vagrant

Different projects have different dependences, some use Beanstalkd while others prefer RabbitMQ, rather than installing all these on my machine Vagrant allows me to easily manage them all on a project basis by creating a virtual development environment. Previously I used MAMP Pro to run PHP applications on my development machine until discovering Vagrant and its advantages. Protobox makes generating Vagrant boxes a breeze.

####Google Chrome

Has good support for modern standards and top class developer tools. I also found Safari to be quite slow on occasions especially with dealing with Javascript, don’t forget ⌘ + [Tab Number] to quicky jump to a specific tab.

Alternative: Safari - offers the best integration for OSX although somewhat lacking in terms of developer tools compared with Chrome or Firefox.

####Sublime Text

Using the Spacegray theme with Source Code Pro font. I absolutely love how easy it is to customise while retaining its simplicity, not to forget its killer feature: Multiple Selections. In terms of plugins I have the following:

Alternative: PHPStorm- If you want a full blown PHP IDE this is your best option.
Free Alternative: Light Table

####Things

I live by the GTD approach - Things make managing tasks on a project-to-project basis. Things is very pricey, although I personally think it’s worthwhile for my workflow.

Free Alternative: Wunderlist

####iTerm

I use iTerm for its customizability, it is really easy to theme - my favorite being is Zenburn from iTerm 2 Color Themes - Github. I also changed my shell to fish for auto complete!

####Sequel Pro

Such an amazing free MySQL client for the OSX, native Cocoa app so fits beautifully into Mavericks. Works really well remotely over SSH also.

####Sourcetree

While I know a lot of developers prefer to work with VC’s through the command line I much prefer a visual element to it, Sourcetree is a free Mercurial and Git Client with built-in support for HG/Git-Flow.

####Alfred

Alfred saves me a lot of time opening apps and searching for files. I have disabled spotlight and changed alfreds key combo to ⌘ + space

####Livereload

Removes the need to constantly refresh my web browser everytime I make a change to the source code. Livereload constantly monitors a selected folder for changes, also has the ability to compile SASS, LESS, Stylus, CoffeeScript etc. Comes with browser extensions so no need to inject Javascript into your sites.

####PHPUnit

Essential for using the Test-driven Development process when developing your web applications. I recently wrote a guide on Installing PHPUnit on OSX Mavericks

####Capistrano

A remote multi-server automation tool primary used for deploying web applications to remote servers. It really helps when deploying to more than one web server, including supporting database migrations.

Misc Apps

  • 1Password - essential for proper password storage and generation
  • Ember - for storing design inspiration
  • Evernote - keeping notes in sync on my iPhone, iPad and Mac
  • Flux - for reducing eye strain when using your computer at night
  • Bartender - let’s me tidy my menu bar to the bare minimum
  • Mailcatcher - let’s me simulate a SMTP server and catches any message sent to it to display in a web interface