My 2019 web development setup

jonathanbossenger

Jonathan Bossenger

Posted on April 24, 2019

My 2019 web development setup

I find articles like this one very interesting, partly because it's always fun to see what other developers use on a day to day basis, and partly because I'm seeing more and more developers using my favourite OS - Ubuntu - for their development set up.

With the recent release of Ubuntu 19.04 (aka Disco Dingo) I was jumped onto the opportunity to upgrade my laptop and try it out. This gave me the chance to document the apps and tools I needed to reinstall. Hopefully you find something useful here.

Authors note, this list only includes software I have to install over and above the base Ubuntu system, or cloud based services I use regularly. If you want to know what I use to play music, view images or edit spreadsheets, I'm going to be using whatever comes installed with Ubuntu.

Browsers

  1. Chrome - the more I'm reading about Google lately, the more I'm considering switching to Firefox as my main browser.
  2. Firefox - this actually comes preinstalled on Ubuntu, but it's worth reminding everyone how awesome it is. Before Chrome, Firefox was the web developers browser of choice.

Development environment

  1. LAMP - Digital Ocean has become a great resource for Linux based set up tutorials, so I usually just follow the steps in whatever the latest flavour of Ubuntu set up tutorial they have available.
  2. Virtualbox & Vagrant - if I need anything specific (nginx, or an older version of PHP/MySQL) I spin up a Vagrant Bento box of whatever flavour of Linux needed.
  3. Homestead - I don't use this much any more, but it's still a great tool.

Editors

  1. PHPStorm - While I spend most of my time working with PHP code, PHPStorm is so much more than just a PHP IDE, so there are rarely files I can't edit with it.
  2. Notepadqq - Notepadqq is a Linux version of Notepad++, which I used as a Notepad replacement on Windows.

Development Tools (GUI)

  1. PHPMyAdmin - I've been using PHPMyAdmin since my first days of PHP development. It's the quickest way to make small database changes
  2. MySQL Workbench - for when a more robust database modelling tool
  3. MailHog - catches all mail sent via the local web server. I found a great Ubuntu set up article that still works 4 years later.

Development Tools (CLI)

  1. Git - I have a GitHub account for public projects and a GitLab account for private ones.
  2. Subversion - because WordPress.org.
  3. Composer - package manager for PHP.
  4. PHPUnit - Testing framework for PHP.
  5. PHP CodeSniffer - I've become dogmatic about making sure my code conforms to a coding standard. I use the WordPress Coding Standards for WordPress development and PSR-1 for other PHP projects.
  6. WP-CLI - the command line interface for WordPress. I recently discovered wp-cli-psysh by Alain Schlesser, which makes the wp shell command a joy to behold.
  7. YuiCompressor - I don't tend to use task runners for minifying JavaScript and/or CSS (I know, I know), and PHPStorm has built in support for doing this via YuiCompressor.
  8. NodeJS - to install YuiCompressor (mostly)
  9. mkcert - great CLI app for generating locally trusted SSL certs. Installed via...
  10. Homebrew - purely to install mkcert
  11. Pipe Viewer - a tool for monitoring the progress of data through a pipeline. I use it to view the progress of mysqldump commands.

API Tools

  1. Postman - Useful for testing API requests
  2. SOAP UI - The first time I had to work with a SOAP API I used SOAP UI, and I've stuck with it ever since

Communication

  1. Slack - the Castos team, WPSouthAfrica and Making WordPress communities, and Codeable experts communities all chat via Slack.

Productivity/Tracking

  1. WakaTime - logs time spent writing code. Useful when I forget when I was working on what
  2. Toggl - Time tracking tool. I've definitely gotten better at time tracking using this tool, which is vital if you charge by the hour.

Multimedia

  1. SimpleScreenRecorder - I've not found a better app on Ubuntu to record screencasts
  2. Audacity - audio editor, mostly used to edit WPHackerCast episodes.
  3. VLC - I don't think I've used another video player in over 10 years
  4. AwesomeScreenshot - Chrome browser extension for quickly taking browser screenshots.

Password Management

  1. LastPass - I don't know what I'll do if I ever forget my master password!
💖 💪 🙅 🚩
jonathanbossenger
Jonathan Bossenger

Posted on April 24, 2019

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related