Everyday more and more developers are switching to a Mac for development. For instance take a look at photos taken from the recent Google IO 2011 event, MBPs are everywhere. I am writing this post to help future or current Mac developers, so here is the list of my coding tools of the trade on the Mac. Please leave a comment if you find one of the following apps useful, or have alternative apps/solutions!
1. iOS (iPhone/iPad) and Mac development
For iOS and Mac coding Xcode is the ultimate tool. Xcode 4 has a really intuitive interface, compacts everything (code editor, UI editor etc) on a single window, supports tabs, and lot more. If you enrol on an Apple developer program, then you can get it for free, else you can find it on the Mac app store for 3.99€.
For Java projects I choose Eclipse over NetBeans. I am not going to compare those two on this post, I am just more comfortable with Eclipse, Google provides official plugins for Eclipse (GWT, App Engine, Android). Both of them are free, and come in lots of flavors depending on the type of projects you want to develop.
4. Single file code viewing/editing
Sometimes you just have to quickly view or edit a single file. For this purpose TextWrangler always comes in handy. I have previously reviewed TextWrangler as the best alternative to Notepad++ for Mac OS X. TextWrangler is free and available on the Mac App Store.
5. Source control
Every coding project should be under source control. I am a Git fan, managing it only via the terminal. Git is a free and super fast distributed source control system. You can also find valuable open source projects online at GitHub.
6. Apache/MySQL/PHP environment
For setting up an Apache/MySQL/PHP environment, the easiest solution is to install MAMP. Although you can individually setup Apache, MySQL, and PHP on the Mac OS, MAMP keeps everything in a single place. MAMP allows you to single-click start Apache/MySQL services using a widget. Of course you have full access to the httpd/php/mysql configuration files, you can install plugins, tweak etc. MySQL can be directly managed from the bundled phpMyAdmin. MAMP behaves like a regular app, meaning that you can uninstall it via a single drag and drop operation.
7. FTP/S3 file transfers
For FTP/S3 file transfer purposes I have recently switched to Transmit. Transmit provides fast and reliable file transfers, easy favorites/bookmarks site management, and a dual-pane interface. You can buy Transmit via the Mac App Store for 26.99€, or purchase additional licenses via their website.
8. SQLite manager
SQLite databases can be accessed via a Firefox plugin called SQLite Manager. SQLite Manager has a simple UI for running SQL queries, importing/exporting data, and managing your database. Free.