So, back in November I took a job (actually full time, real job for the first time in a long time) doing PHP/MySQL development for a company that thrust me into the world of Mac. I was sure I'd be in for days or weeks of getting up to speed and worried about disappointing my new employer, so I was nervous, which is kind of foreign territory for me. As they were also into open source freeware and shareware tools due to the low cost and typically better support of the open source community...like me.
I was very pleasantly surprised, and have really grown to become a fan of Mac development. I have learned a few things in the mean time that I thought might be worth documenting to help others stuck in my situation.
Many of the applications I was used to using are Windows only applications, my new coworkers helped guide me to find decent Mac equivalents for, which has been uber-helpful. If anyone reading this post have other useful options, I'd love to hear about them in the comments.
GraphicsFor simple graphic work, typical of a developer (not designer) such as quick resizing, slicing and such things, I was happy to find that GIMP has a Mac version as well, so that was a painless transition.
CodingI have used many apps over the years for this task on Windows,
NoteTab,
EditPlus,
Aptana (which does have a Mac version),
Dreamweaver (which has a Mac version and costs a lot), but, in the interest of maintaining a standard application base across development, I went with a suggestion from the others, and rolled with
TextMate, an somewhat inexpensive text editor for the Mac. At $59 for a single license, I was surprised at it's power user feature set. There is no WYSIWYG editing, for which I was OK with, being a hand coder anyway, but the code coloring, project management, keyboard shortcuts for commenting out, code formatting, quick syntax checking and other tool sets is outstanding. It also integrates into the command line, making it possible to leave the world of nano and vi, and use TextMate for the code editing.
I have found a Windows application that is supposedly "the power of TextMate for Windows", called
E, but I have not tried it yet. If anyone has used it, I love to hear about the experience. The license fee is $46.95.
Version ControlBeing the standard small lower budget shop, the company uses
Subversion SVN for it's version control, with which I am familiar. I was always used to using the
Tortoise SVN shell that integrates directly into Windows Explorer, for the control. Well, no longer having Windows Explorer, I needed another option. A nice, simple options that we use is
Versions, which is somewhat limited. It's great for everyday tasks such as check in, checkout, comparisons, updating repos and stuff like that, but, unlike Tortoise, it has no UI for merging, branching, tagging and other such functions. All that must still be done from the command line.
FTPFor a while I was using
Fugu for my SCP, SFTP and SSH work, but was soon annoyed by it's lack of functionality, not having real profile management or ability to move multiple files at once...so, I dropped back, whenever possible, to the
FireFox addon,
FireFTP, which is a great FTP client that lives within it's own tab of FireFox.
DebuggingThe same tools apply for debugging if you use FireFox, as I do, for development.
Web Developer Toolbar,
FireBug and the FireFox console work great as a team for following JavaScript requests through their lifecycle.
Database ManagementMySQL has the same desktop tools for Mac as they do for Windows. The
MySQL Workbench is primarily what I use. For SQL Server work, the free version of
DbVisualizer is what I use for simple stuff, the pay version, which is costly, does much more. For SQL Server work you are far better off adding some Windows VM to your Mac, which can be resource costly, and doing it with SQL Studio Manager or some such MS tool, but DbVisualizer is a cool tool for typical development work, if you are forced into using SQL Server.
Command LineFor those developers that have been used to using command line for a lot of work, you'll feel right at home on Mac OS X, it's a Unix based structure and the terminal is a great tool to get around in quickly. However, there is a great, free, SourceForge project called
iTerm that puts the Mac native terminal to shame. You can bookmark different servers with commands to log into them. Click the bookmark, and if the command is passed right, boom, you are right at the command prompt. Very useful tool for developers that frequently need to SSH into development, staging and production servers and need to remember all those login credentials.
The administration utility "Keychain Access" that comes with OS X is a great way to store passwords on your local machine for later reference as well.
Simple ShortcutsMac and Windows are different (duh), but there are some simple things you can learn to make things easier. By and large, Windows and Mac have different control keys, with Windows, most keyboard shortcuts base off the lowest, left hand control key (Ctrl), with Mac, that key is usually a couple keys to the right, and has a

on it (and/or and apple). So, the cut, copy and paste are still control > X, C and V, but the control key is a couple keys over. A hard habit to get into, but it'll save you loads of time.
The Mac's "System Preferences" (little icon with gears) has Mouse preferences that can be set to simulate Windows right click functionality, that really helps the native Windows user.
I hope these little tips get you off in the right direction.