Development Tools in Mac OS X
I purchased a 2011 MacBook Air for replacing my old office laptops as my primary development machine. I used GNU/Linux in my old laptop, which I found providing very similar environment with Mac OS X. My new MacBook Air came with Mac OS X 10.7 a.k.a Lion, which according to the definition, providing the best of iOS to Mac environment. Since I myself also own an original iPad, I found no problem with all these new feature in Mac OS X 10.7, including the controversial natural scrolling feature.
I myself also familiar with Mac OS X environment, my wife already has a MacBook Pro with Mac OS X 10.6 installed. IMHO, Mac is a very fun environment to work with, you do not have to worry about small-yet-annoying thing, so you can focus on your work. Mac is also known as one of hacker’s environment. It inherits UNIX stability and simplicity. Coming from GNU/Linux world, I found Mac OS X is a very entertaining environment, you can use almost all tools from UNIX, and the most important thing is, I get it in avery consistent GUI which I love.
So the journey to set up a develop machine based on MacBook Air is continued. I read some interesting links like this, which give me a list of development tools worth using in Mac OS X 10.7. You can find a lot of websites which compiles a list of development tools on the Internet.
For transforming your Mac into a ‘optimus prime’ of development machine, you can try these steps below:
-
Installing XCode.
XCode is a primary requirement for development in Mac. XCode package contains all base files and applications like C-compiler, core libraries which used frequently in UNIX-style installation. (
./configure && make && make install). You can download XCode from Apple website, or using Mac App Store. For 10.7 users, you can get the latest version (XCode 4.2) freely from Mac App Store. FYI, XCode itself is a huge package (3-4 GB in size) so you may need a reliable Internet connection for downloading it. -
Homebrew
Homebrew called itself a missing package manager for OSX. You can find it here. Some of old-time Mac users use MacPorts, but I prefer using Homebrew because it is frequently updated, and it is easier to use. Homebrew is easier to install than MacPorts. Homebrew use ‘recipe’ stored in a Git repository, for installing packages.
-
iTerm2
A perfect replacement for Terminal app on Mac. You can get all transparent background, full screen support on Lion, and it fixs the most annoying feature on Terminal, it quits when you hit Cmd+D.
-
TextMate
I have heard that TextMate is the best text editor around. I have tried to mimic TextMate’s behavious in my Vim editor, using plugins and configurations. Still, I can not get all TextMate’s feature in my Vim. So, when I purchased my Mac, I immediately purchased a license of TextMate. Quite pricy, but as far as I use TextMate, the money was worth it. For you guys whose an TextMate license, you can get TextMate 2 as a free upgrade. Still in alpha phase, but it has a promising future ahead.
-
Dropbox
My personal favourite for synchronizing files among my devices. I can store a document in my iPad, preview it in my Nexus S and examine it in my Mac. It works seamlessly, with no annoying prompt whatsoever. If you are an iPad owner, there are tons of applications that use Dropbox as their storage. You will get 2 GB space for free plan, but you can expand it, by spreading the news of Dropbox in your circle of friends or co-workers. You can get extra space up to 4 GB, which is awesome for a free plan.
-
Evernote
Another favourite application of mine. Evernote will help you to take note(s) everywhere, in any form of notes. You can store images, sounds, and of course notes. Evernote is a freemium service. I found the free plan is enough, but if you want an offline capability, you can upgrade your account to Evernote Pro. I also use Evernote in combination with Instapaper to store my bookmarks. You can install evernote’s browser extension which allow you to ‘clip’ an website and store it as a note in Evernote. Very helpful, since you might only want to store a slice of a website, not the whole page.
-
Instapaper
Instapaper is brillian web application out there. Instapaper provide a service to store a link / page to read later. Instapaper start from iOS platform, where you can save a link and open it later on the other device. I purchased a subscribe account, where I will be able to call all public API without any limit. Instapaper’s services is deeply integrated to my favourite apps in iOS platform, Zite and Flipboard. I can save an article and open it at my Mac using this service.
-
MacVim
A port of legendary Vim (VI improved) text editor in Mac OS X. Even I already have my TextMate, I still use Vim because, let’s face it, TextMate is Mac-only Text Editor, while Vim is cross-flatform. Your vim knowledge can save you a lot of time in text editing. I am still learning the shortcuts, which is a lot
-
Google Chrome
Every Mac ships with Safari as their default browser. Unfortunately, it is slow. It takes a lot of CPU and memory, eventhough I have disabled the flash plugin. Since, Firefox is also a memory hog (even worse!), I turn myself to Google’s Chrome. I use the Chrome browser from stable and canary release. Even Safari and Firefox have released their new version, Chrome is still the best and the fastest browser in town.
These are my development tools in Mac OS X. Some honorable mentions are:
-
Remind Me Later
A tiny app sitting in your menu bar waiting for you to enter your agenda. It stores all your agenda (to-do list, event what so ever) in iCal. The best thing is, Remind Me Later understand natural language input. I am not so sure, whether it is iCal’s or Remind Me Later’s feature, but it is awesome!
-
Pomodoro
This app helps me to practise Pomodoro Technique. It is a time management system that can help you to improve your productivity. I am a easy-to-lost-focus man, so I really need a better time management. As far as it goes, it is really help me to be better man.
-
Mou
I am a fan of John Gruber’s markdown format. Mou is a simple-yet-powerful Markdown editor. It gives you real-time preview of your text. It helps me to write some documents, including my blog posts.
-
Alfred
Those Mac veterans must know about QuickSilver, a launcher with a lot of extensions which save your time. Meet Alfred, a great alternative to QuickSilver, it is fast, it is extensible, and the most important thing is, it is still actively developed. You can purhcase Alfred Powerpack to unleash the ability to the highest level.
-
Go2Shell and DTerm
Two great utilites to help you interact with your finder. Go2Shell gives you access to Terminal from any folder you open. While DTerm has more generic function, it will allow you to do ANYTHING from your finder. You can find DTerm here. It is awesome application.
And that’s all my apps. Hope you can enjoy it. You can share other apps by commenting this post.
Hi, I made a app for developers, especially those working with multiple platforms: Library Inspector . It will help you view the object code symbol table and disassemble compiled applications/archives.