My Development Setup
I have recently taken the opportunity to completely upgrade my development setup, replacing my main computer and external monitors. The main reason for this was a hardware issue with my old machine. This post will run through my new hardware setup, and the software that I use.
Hardware
I use a 27″ Retina 5K iMac, with 16GB RAM, 4GHz i7 processor, and 1TB Fusion Drive.
I also use two 27″ LG Ultra HD 4K displays either side of the iMac, one of which is in portrait mode.
Software
I use a wide range of apps for developing websites, covering text editors, web browsers, server management software, and media editing software.
Text Editor
I use Sublime Text 2 for writing code, with a number of packages installed to improve workflow. The packages I use are: Color Highlighter, to highlight colour codes in the colours they represent; Syntax Highlighting for SASS, which highlights SASS code as though it was CSS, giving it the theme colours of Sublime rather than just white text; and SASS Build which saves SASS files and builds the CSS file by just pressing cmd + b on the keyboard.
Web Browsers
I use all major web browsers that are available on Mac, which are: Google Chrome, Mozilla Firefox, Apple Safari, and Opera. For Microsoft Internet Explorer and Microsoft Edge, I use Browser Stack which creates a virtual machine to run the web browsers. Browser Stack also features all major browsers on Windows machines, which I also use for testing.
Server Management
I use a number of different applications for server management, both locally and remotely.
Local Development Server
I run a local development server using MAMP, which creates a PHP and MySQL server on a macOS machine. I then use Sequel Pro to manage local databases.
Remote Server
I use FileZilla to manage files on a remote server, and DeployBot to deploy whole sites to a server in one go. DeployBot pulls files from Bitbucket, which I use for backing up the files of a website and managing version control with Git.
I use Terminal, built into macOS, to push files up to Bitbucket using Git command line statements.
Media Editing
I use Adobe Photoshop for resizing images for web use, and Adobe Illustrator for saving out SVG files.
Video files are converted for web use using the Miro video converter.
Code Management
With the ever-growing code base that I have, I manage the code I create using SnippetsLab, where useful functions / snippets that I re-use frequently are stored to quickly access during projects.