RocketTheme Blog

Essential Mac Apps for Development

NOTE: This article has been superceded by "Essential Mac Apps for Development and Productivity"

Ok, so you've made the plunge and are committed to using a mac as your primary development machine. Congratulations, you've made a fantastic choice, and after 4 years after jumping in with both feet, i've never been happier with my decision. I'm going to save you a lot of time by getting you up to speed quickly on how to setup your machine with all the essentials that will make your development life easier and more efficient. For simplicity I'm going to assume you're a PHP developer and your source control system is Subversion.

Update: July 5th 2010 - There's been several months since I put down this original list of applications, and during that time I've changed a few of my recommendations based on new products that have been released aswell as improvements to some existing products. This list below represents my currently installed and recommended apps:

Utilities

Afred QuickLaunch App

Alfred

Alfred (Launcher Utility)

I have used Quicksilver for many years, but that project was pretty much abandoned and the author went to work for Google. The result of this job change is Google QSB, and it addresses several shortcomings of Quicksilver even if it doesn't look quite as good. Another decent alternative is LaunchBar. It has some extras like multiple clipboard support which is pretty cool. The one I'm currently using however is called Alfred. It's a back to basics quick launch application that may not have as many features as it's competitors but has one fantastic feature, it's FAST!!! Not only that it is much more stable than Google QSB, and QuickSilver before it. It is of cource FREE.

QLColorCode

Qlcolorcode

n8gray (Quicklook Plugin)

This is a really handy tool to provide syntax highlighting in QuickLook. Really invaluable when you are poking through finder looking for a file.

BetterZip

Betterzip

MacItBetter (Archive Utility)

The one thing that the mac lacked for quite a while was a simple and powerful archive utility. There are a few out there now, but I find BetterZip the easiest to use. It has a great 'Clean' function that removes all the pesky OS X hidden files, as well as .svn folders and anything else you configure it to strip out.

The Unarchiver

Unarchiver

wakaba.c3.cx (Archive Utility)

This is a replacement for the built-in BOMArchiver that comes with Snow Leopard. The Unarchiver supports more formats including RAR, 7-Zip, etc that are not normally supported and actually is faster than the default extractor. As it's free it's a worthy addition to your toolset.

Transmit 4

Transmit 4

Transmit (FTP/SSH/SFTP/WebDav Client)

I had moved to ExpanDrive more FTP duties, but the recent release of Transmit 4 from Panic has brought be back to the Panic fold. Transmit has been around for ages but was getting a bit long-in-the-tooth before version 4.0 was released. Version 4.0 is just so good that there is literally nothing that compares. It's the fastest, more intuitive, feature-packed, and best looking FTP client for the Mac out there. Also as a bonus it has a MacFuse style finder integration that works similar to ExpanDrive. It cost $34 for a regular license, but it's so worth it.

Skitch

Skitch

Plasq (Screenshot Sharing)

When your working in a distributed team, it's often essential to be able to quickly share ideas. Skitch is a great tool for this because it allows you to quickly take a screenshots, edit and annotate them, then publish them either to skitch.com, .me, or your own FTP server. This process can takes just a few seconds, and can provide a much more efficient workflow than traditional solutions.

IShowU

Ishowu

ShinyWhiteBox (Screen Capture)

Another really useful way to share information in a highly distributed team is to show a quick video of what your trying to convey. It's often very convenient to take a quick video rather than trying to explain it with words and images. IShowU is a great little utility that does this well and lets you choose a variety of output formats for optimal results. Another option is Jing which is quite powerful but unfortunately is just to ugly for my personal use.

Paste

Paste

RocketTheme (Pastie.org Utility)

This is based on some script I found on the internet and tweaked to work more the way I wanted it. I don't remember where I found it originally so I'm sorry I can't give props where it's deserved. This utility takes the current clipboard and sends it to pastie.org, it then puts the URL for that pastie on the clipboard. It makes sharing a code snipping in Skype or irc a trivial task when combined with your launcher of choice. You can do something like "select text" -> "ctrl-c" (copy) -> "ctrl-space" (launcher) -> "p-a-s" (start typing paste) -> "enter" -> "switch to chat" -> "ctrl-v" (paste). That might look complicated but it takes just a second or two. Very, very handy.

Plain Clip

Plainclip

Carsten Blum (Text Utility)

One feature that the mac has is the ability to copy with text formatting. This is sometimes undesirable if you just want the plain text from a certain paste. Plain Clip is a great utility that when combined with a launcher allows a quick stripping of all that extra formatting. Just copy the text to the clipboard, launch Plain Clip, and past the newly cleaned up text.

Skype

Skype

Skype (Messaging/Sharing/Voice)

Depending on your needs Skype is a great tool for distributed teams. It lets you quickly and easily chat with your teammates and also setup quick 'group chats' for specific projects. It also lets you send files without the hassles of dealing with firewalls and other traditional impediments. A newish feature is the desktop sharing that allows you to voice chat and show your desktop, or area on your desktop easily. Of course it also has great quality voice chat also. The fact that it works well on windows and linux also make it especially useful in non-homogenous environments. Another alternative if you primarily use another IM protocol is Adium. This doesn't quite have the feature set of Skype, but is a very solid multi-protocol client.

Linkinus

Linkinus

Conceited Software (IRC Client)

This is the best IRC client out there for mac period. If you use IRC much in your daily life, and here at RocketTheme it's the glue that binds the team together, then this is your best bet for IRC. Some of the most useful features in the 2.0 version is the inline images and video support. After you have seen that regular IRC or even IM will feel very bland.

iStat Menus

Istatmenus

iSlayer (System Monitor)

I love information, so I really like to know what's going on with my machine at all times. That means I like to know the state of my CPUs, memory, and also Network utilization. iStat Menus is a great free utility that sits in your menu bar and provides all this information and lots more besides. The integrated calendar with world clock is a life saver if you have many team members distributed throughout the world.

Dropbox

Dropbox

Dropbox (File Syncronization and Sharing)

Dropbox is a great multi-platform tool for quickly and easily sharing files between computers and other team members. The Free basic version lets you share as much as 2GB of files, and the next step up is 50GB which you can get for $10/month. There's a really useful public folder option and it's integrated into finder, so you can just copy a file there, and get the public URL to quickly and easily share a file to anyone regardless if they have a Dropbox account or not.

Color Picker

Colorpicker

RocketTheme (Color Picker Utility)

This is a super simple AppleScript I converted into an app. It works best with Jesper's Hex Color Picker panel for the standard OS X color picker. This utility just fires up the Color Picker and runs it like a stand-alone application.

xScope

Xscope

IconFactory (Designer Utility)

xScope is a very handy utility that provides you a variety of tools that make your life as a designer and developer much easier. Things such as dimensions, rulers, loupe, guides, etc allow you to quickly see what's going on with your designs.

MAMP & MAMP Pro

Mamp

webEdition (Webserver)

MAMP is a great solution for getting your machine up and running with Apache/MySQL/PHP in one step. Use this rather than the built-in webserver options that come with Snow Leopard. MAMP makes it trivial to quickly get a local development site up and running. It just 'works' and is easily configured and tweaked to suit your needs. For example there's a simple toggle to switch between PHP4 and PHP5 which can be very helpful during development.

TextMate

Textmate

Macromates (Editor)

A text editor is probably your most important tool, and there are some good options out there now, but really the power and flexibility of TextMate make it my go to editor even after all these years. There are some up and coming editors such as Panic's Coda that are starting to catch up, but there are still fundamental issues with some of these editors and they still don't have the variety of features that TextMate does. I'm anxiously awaiting TextMate2 or even Coda2 to see how the next generation of Mac editors improve in speed, features and stability.

ProjectPlus (for TextMate)

Projectplus

Ciarán Walsh (Project Support)

This is a very handy little plugin for TextMate that gives you source control access including status badges, some sidebar control, some labeling ability, QuickLook support, and some other useful additions to the project view.

Espresso

Espresso

Espresso (Editor)

Even though my go-to editor is still Textmate, I find myself using Espresso more and more. This editor was sadly lacking functionality originally but with the 1.1 release it's quite usable. It's generally faster than TextMate and certainly is more modern feeling and has some really nice highlighting and search functionality. For quick editing I find myself opening Espresso over TextMate these days.

OpenInTextMate

Openintextmate

henrik.nyh.se (Finder Button)

Put this in your Applications folder then drag it into your finder toolbar. You can then easily open any TextMate compatible file by selecting the file in Finder, and then clicking this button. More useful is the ability to select a folder, and click this button. It will instantly open up TextMate with the folder as a Project! How cool is that!

OpenInEspresso

Openin

RocketTheme (Finder Button)

A great way to open files and folder in Espresso. To install "Open in Espresso", put this in your Applications folder then drag it into your finder toolbar. This works the same way as the "Open In Textmate" finder button above. Basically by having this available in your finder toolbar, you can quickly open up any file, or any folder of files in Espresso.

OpenInCoda

Openin

RocketTheme (Finder Button)

A great way to open files and folder in Coda. To install "Open in Coda", put this in your Applications folder then drag it into your finder toolbar. This works the same way as the "Open In Textmate" finder button above. Basically by having this available in your finder toolbar, you can quickly open up any file, or any folder of files in Coda.

PhpStorm

PhpStorm

PhpStorm (PHP IDE)

An IDE is a deeply personal thing. There are some people that swear by Eclipse, others that insist on Zend Studio, some who prefer Komodo IDE and there are many others! JetBrains has been around for a long time developing IDEs for Java, .NET, and other languages. When I was a Java developer, my IDE of choice was JetBrains as it was packed full of features and reasonably priced. Now they've brought all that great experience and functionality to PHP. Their latest product called PhpStorm is a full fledged PHP IDE and is now my IDE of choice for any larger scale PHP development.

NetBeans for PHP

Netbeans

NetBeans.org (PHP IDE)

NetBeans is probalby my #2 editor now that PhpStorm has reached a stable release. NetBeans is really a fantastic PHP IDE and what makes it a great choice is that it's 100% free. It really is a very good option for those that don't want to pay for PhpStorm.

Versions

Versions

Pico + Sofa (SVN Client)

There are really two great options now for SVN clients for the mac. First is Versions and second is Cornerstone. I prefer versions solely because of the little indicator you get when there are updates available on the server. I think if cornerstone added this super useful feature I would switch as it has some fantastic timeline tools and allows you to show differences from within the client without having to launch a 3rd party diff/merge tool.

Araxis Merge

Merge

Araxis (Merge / Comparison Utility)

I've used Araxis Merge for years (on PC before and now Mac), and it's really a very powerful file comparison and merge tool. It supports up to 3-way comparisons of Files and Folders, and even supports binary files such as images. The biggest problem with it is the price. It's very expensive ($269 for Pro version) so you may want to look at some alternatives. My Next favorite tool is DeltaWalker. This has tonnes of features but it's a bit slower and clunkier because it's built on Java rather than native. Another native mac app that is making great progress is DiffFork. It now has Folder support as well as File support, but does not suppor 3-way diff/merging yet. Still it's a pretty good option for quick work.

Sequel Pro

Sequel Pro

Sequel Pro (MySQL Client)

Sequel Pro is a relatively new native MySQL client and it has now replaced my trusty Navicat as my trusted solution for manipulating MySQL. It has support for SSH tunneling, User management, and has the best query editor i've ever used. I was recommending Querious for this task but it was a bit slow when connecting to servers with a large number of databases, as well as being a bit cumbersome with import/export, and of course it's not free like Sequel Pro.

Are there any other apps you find indispensible as part of your daily development life? If so let me know! I'll add to this list as I find other great apps.

Member Login: