Deprecated: Function set_magic_quotes_runtime() is deprecated in /home/xeno04/ on line 14
Walker Software Weblog: Mac Web Dev Software

Mac Web Dev Software

Apr 4, 01:04 PM

Every now and then, I’m asked what software I use on the Mac for what I do. Here’s my list with a few alternatives.

Coding, Styling, and Transfer

You could go with Panic‘s Coda ($$), it’s sorta and IDE for the web. It’s got an editor, CSS visual editor, and file transfer build in. But I prefer TextMate ($) as an editor and CSSEdit ($) beats Coda as a visual editor in every way I care to measure. Some people like BareBones BBEdit ($$) or the TextWrangler (free) for editing. But I find TextMate is a more natural fit for the way I work and it is easy to customise and extend. Stay away from DreamWeaver.

For file transfer, there are quite a few options, but I like Panic’s Transmit ($). Most Mac file transfer utilities allow you to open a remote file in an external program and changes get shuttled back to the server seamlessly. It’s rare but I’ve had this clobber files before so keep backups. Other choices are Cyberduck and Fugu (both freeware, I think). I used Cyberduck for a few years, but switched to Transmit because Transmit is significantly faster than Cyberduck. Some people are using MacFuse based solutions to seamlessly extend the filesystem but I haven’t tried them yet.

Really, the best way to do file transfer is to develop locally, keep to code in a version control system like Subversion, GIT, or CVS. Login to the remote system and pull changes from your VCS. This way you can script the update process and easily extend it should you need clustered hosting. There are a lot of VCS clients out there, but I’m only going to mention two, svnX (free) and the command-line. SvnX isn’t feature complete but I use it because it provides a innovative view: a flatten view of the files showing only those that have changed. It is truly a time-saving feature. Why bother with the command-line client? because it is the most common, best supported, and if you are logging into remote servers with SSH you’ll have to learn the command-line client sooner or later.

Don’t forget to install the developer tools from the Mac OS install disc. It includes a few utilities that can come in handy, like FileMerge.


I use MAMP (free) and MAMP-Pro ($$). They are self contained MySql, Apache 2, and PHP installs with a GUI wrapper. The Pro version makes it easy to switch between sites, which for consulting, is well worth it. The Mac has Apache and PHP installed by default, but I find it is better to leave those to personal use and/or “Web sharing”. You never know when a system update might clobber your configuration. Also MAMP makes it easy to switch between PHP5 and PHP4, depending on your customers, this may be important. MAMP also includes phpMyAdmin.

For Rails use Locomotive (free) again for containment and convenience.


Two paths: buy Adobe’s Photoshop suite ($$$-$$$$) or go indie. The Photoshop suite is a no-brainer if you do a lot of web and/or graphics work for hire, you’ll recoup the investment cost in no-time. The indie tools are orders of magnitude cheaper but are often missing key features I need like “Save for Web”. The indie graphic tools I’ve used include Pixelmator ($$), Acorn ($), and Lineform ($$). Gimp (free) also runs on the Mac, if you’re into that sort of thing. Personally, I don’t like using anything that require X windows in my main workflow.

Word of advice, it depends what you are doing, but always consider using a vector tool like Illustrator or Lineform rather than a bitmap tool like Photoshop. Sizes always change. For web-based work marketing wants it bigger, and management and users want it smaller. Then, maybe they’ll want to use your work in a print ad or on the business cards. Vector artwork has a better chance of looking good and any resolution.

Remote Maintenance

VNC is boon to mankind. Leopard includes screen sharing (aka VNC) but the client is tricky to find. I use Chicken of the VNC (free) because it provides connection bookmarks. VNC has 2 major downsides: it is slow and it is hard to automate. The solution is to use SSH to login into a box using the command-line.

SSH is included with Mac OS, but SSH Agent (free) provides a GUI for controlling keys and tunnels. Tunnels are important if you need access to a database or other machine that is firewalled away from normal access. It can save to tunnels to a file which is good for maintenance tunnels that aren’t used often enough to be scripted.


Maybe sound is not so important for web development, but for sound I’ve used Audacity (free), and Sound Studio ($$).

Commenting is closed for this article.