My Favorite Tools for Web Development

SSH Connection

My workstation runs Windows 7 x64 and while I have tried PuTTy and Cygwin, for stability and ease-of-user I’ve settled on using NetSarang’s XShell as my favorite SSH tool. PuTTy worked well for me until I started using Windows 7. With the advent of Windows 7, PuTTy began to drop connections intermittently. I was far from the only one having these problems. Cygwin’s bash + OpenSSH always came with the multi-gig download of Cygwin and the constant conflicts with various tools using cygwin.dll.

While NetSarang’s Xmanager 4 is a great X11 server, it is not free. However, they generously make XShell available for free. XShell includes the ability to login with a password or with a key file. (XShell uses the UNIX standard .pem format, which differs from the PuTTY .ppk format.) XShell has a GUI to guide creation of a connection and the ability to store connections optionally grouped in folders.

File Transfer

While WinSCP has a great user interface, there is something amiss such that its transfers are far slower than other programs. PSCP, the SCP client included with PuTTY, is a good command line utility and nice to have in your path. For a GUI SCP client, the FileZilla client is the best I’ve found.

Editor

The vast majority of web servers run Linux, and ALL of the servers BranchPoint hosts run either Linux or Solaris. The always-there editor is vi or the improved version, vim. Though universal, vi is also archaic and difficult to learn. vim, which stands for ‘VI iMproved’, trades a steeper learning curve for massive additional functionality.

Most servers now have nano installed, which is more user-friendly but not very powerful.

My favorite editor for web development that does not include Java is PHPStorm. It understands and does syntax highlighting for:

  • PHP
  • HTML
  • CSS
  • JavaScript

It has powerful syntax parsing tools that will prompt you for arguments and link you from usage to the definition of a function. Significantly, it can use SSH to remotely edit and run PHP. It also integrates with popular version control tools, including Git, which BranchPoint uses. It is easy to use and easy to setup. It just works.

It is commercial, costing $200, but they have a 30-day free trial.

Database Tool

For MySQL, MySQL Workbench is easily my favorite. It has:

  • Table browsing
  • Row browsing
  • Powerful and easy-to-use table creation and editing
  • Data editing
  • Reverse-engineer schemas
  • SQL Editing and Execution
  • Available for Windows, Linux, and OS X
  • Connection over SSH

The current 6.x series is far more stable than the 5.x series.

A lot of people are fond of phpmyadmin, but I am not. It used to be frighteningly insecure. Now, it is secure but frustratingly difficult to setup, and the functionality is not all that great.

Browsers Development Tools

I keep a version of Chrome open for my reference and Firefox with Firebug for debugging the site. Although Chrome’s Developer Tools are sometimes more useful than Firebug, the need to clear the cache during development makes me not want to use my primary browser as my development browser. When your code changes do not seem to have any effect, consider clearing the browser’s cache. I like Firefox’s Empty Cache Button. One click and the cache is dumped.

console.log() and console.dir() are the printf() of JavaScript. console.dir() is particularly useful where console.log() reports a ‘recursive definition’.

You may think you are-out-of-luck with PHP, but take a look at FirePHP, which will log PHP to the developer’s console using simple PHP calls.

End

If you have other tools or tricks that you like for web development, please let me know.

Leave a Reply