WP developers favorite tools and services

Last night we had a great WordPress Developers’ Meetup centered around what tools people use in their workflow. The meeting was so information laden that I decided we needed a summary. I’m sure I’ll miss some of the tools presented, if so drop me a line and I’ll add them.

Caveats
We have a lot of Macintosh users in the group, and not many Windows users, so we discussed a number of Mac specific tools.

Text Editing

The crowd favorite in this category is PHP Storm by JetBrains. It’s a nice IDE and has many capabilities that aren’t obvious on first use, like its ability to reformat your code to follow the WordPress Codex coding standards. The downside to PHP Storm is it is a resource hog, so if you have a low end machine it may not run well for you. It is a cross platform tool, available for Windows, Macs, and Linux. Sublime Text got some mentions as well, as a full featured  but lighter weight editor. Notepad++ with autocompletion for PHP, and just plain vim rounded out the editors used by people in the room.

Tools for working with teams

The favorite communication platform these days is Slack, and Github for cloud hosted repositories. No surprises there. Bit Bucket was also suggested for sharing repositories.  Git is the most used version control system. Git Flow was mentioned as a set of scripts that wrap up some Git best practices. Here’s an interesting tutorial on Git Flow. We had an interesting conversation about why, when, and how to do git rebasing before the Meetup even started.

Tools/Services for deployment

Deploy.io and Beanstalk are two services mentioned as easy and fast ways to deploy your projects.

Vagrant is an Open Source tool for building your deployment environments yourself. VVV (Varying Vagrant Vagrants) is an evolving Vagrant configuration focused on WordPress development that looks really interesting.

Travis CI (continuous integration) is a useful service for making sure your code passes unit tests and runs in an appropriate environment.

Productivity Tools

This is a catch-all category and some of these tools are Mac specific.

Environment Configuration

  • Bartender organizes your menu bar apps, which quickly get out of hand on Macs.
  • Oh My zsh  is an open source, community-driven framework for managing your ZSH configuration. I’m looking at the plugins available for this and let’s just say if you use zsh you probably want this!
  • iTerm – another terminal program for Macs, does a nice job of split screens and it’s autocomplete knows about files and directories in addition to commands. Many other features are available.
  • Querious – (Mac) MySQL interface tool, much better than phpMyAdmin.
  • Dash – an offline documentation repository. Download topics from StackOverflow, WordPress Codex, MySQL docs, or anything else you might want when you can’t get an internet connection.
  • Sunrise Calendar connects with Exchange, Google Calendar and iCloud, and apps for Facebook, Evernote, Foursquare, TripIt, Todoist, Trello and more.
  • Flux – it makes the color of your computer’s display adapt to the time of day, warm at night and like sunlight during the day. Easier on your eyes when you open up your laptop late at night to record that great idea you just had.
  • Moom (Mac) – allows you to easily move and zoom windows—on one display, or to another display—using either the mouse or the keyboard. It has a convenient dropdown menu for doing this quickly.
  • Teleport  – a tool for sharing a keyboard and mouse between multiple Macs.
  • Authy – encrypted passwords from anywhere with 2 factor authentication.

Styling Tools

  • Bootstrap – a popular toolkit to help build responsive and modern website frontends.
  • LESS – (and SASS) better ways to build CSS.
  • Bourbon – a light weight SASS mix-in library.

Automation, deployment and testing

  • node and grunt for task automation.
  • Postman – A Chrome extension or stand-alone Chrome app for testing APIs.
  • Fiddler web debugging proxy – more testing tools
  • call 2 test – a convenient way to pull issues from github repository and put them in a Waffle board
  • Unison – multiplatform file synchronizer.
  • Page Load Time – is a Chrome extension that pops up a small window with useful timing information.

Command Line Tools

MayMay mentioned a number of useful tools, but I’ve been unable to hunt down where to find several of them. wp_makepot.php  is  a PHP tool for building your internationalization files. 

Security

  • Subresource Integretity (SRI) Manager  – protection against JavaScript DDoS attacks
  • wpscan – WordPress vulnerability scanner. It’s also useful when working with a plugin customer to find out what other plugins they may have installed.
  • Kali tools – A suite of pentest tools.

  • Owasp – Zed Attack Proxy – security tools for testing websites. We hope to get a future presentation on this.

WordPress Environment

We had a discussion about how people work with WordPress when there have large teams. One approach is to put your code in a git repository and each have your own database. For database syncing the WordPress plugin WP Migrate DB was recommended. Another approach is to have a staging server. This is provided by WP Engine, along with git support. Local hosting companies may also help you set up staging servers.

Tools for running a business

  • Chronomate – time tracking, works with FreshBooks.

  • FreshBooks – for billing. It’s a popular QuickBooks replacement.

  • ToDoList – a light weight version of Trello, easy to use, multiplatform.