There are plenty of interesting
articles written about Mac OS X application for switchers, but I have to see a
guide focused on programmers switching from other operating systems. I hope
this article will help you find some cool tools, which may help you with
programming.
1)
Xcode2 (Free – Intel/PPC)
As the
Apple Developer Connection website describes, Xcode 2.3 is the fastest
and easiest way for developers to create applications for Mac OS X Tiger. It's
also the best way to take advantage of all of the new developer technologies
that Apple has put into Tiger. Xcode brings together the power of UNIX, a mix
of high-performance development technologies, and the ease of use of Mac OS X.
Whether you're writing your application in C, C++, Objective-C, or Java,
scripting in AppleScript, or looking to migrate code from another legacy tool,
you'll find that Xcode is the perfect tool.
The latest Xcode version can be downloaded (for free) from the Apple Developer
Connection but free registration is a prerequisite. The complete disk image is
around 915MB and if you have a fast Internet connection, it won’t take too long
to download. If not, you can also find a copy in you Apple installation DVD.
2)
TextMate ($39 – Intel/PPC)
In my opinion this is probably the best text editor for Macs. Although it
carries a higher price tag, you are sure that the money well spent. You can
open entire directories with a single command and have the whole project open
at once. According to its developer Created by a closet UNIX geek who was lured
to the Mac platform by its ease of use and elegance, TextMate has been referred
to as the culmination of Emacs and OS X and has resulted in countless requests
for both a Windows and Linux port, but TextMate remains exclusive for the Mac,
and that is how we like it!
TextMate is not an IDE but by using its powerful snippets, macros, and unique
scoping system, it can often provide features that even a language specific IDE
lacks. It has enough project management features to keep most users happy, but
is otherwise kept lightweight with a clean and minimalistic GUI.
If you are looking for a free text editor, I would strongly suggest you to
check
VI/VIM out. You may feel uncomfortable in the beginning to accustom to use it but once
you know the basics it is fun to work with.
3)
iTerm (Free – Beta only)
I use the Terminal quite often for executing Bash code or installing binaries.
I was happy using default Terminal provided by Apple until I found iTerm. For
me it is a simple but an elegant piece of software. What I like most about
iTerm is the “Tab” funtion. Instead of opening couple of windows, you can just
work on one widow and switch to any Tab you want. Here is what iTerm developers
have to say.
iTerm is a full featured terminal emulation program written for OS X using
Cocoa. We are aiming at providing users with best command line experience under
OS X. The letter i represents a native Apple look and feel of the program
interface, and an emphasis on complete international support. iTerm was merged
from two projects, CTerminal and TerminalX, both of which were based on
JTerminal project. The current version is still in beta stage. It is however
very much functional and usable.
4)
MAMP (Free – Intel/PPC)
Whether you are a hobby web designer or a professional developer, MAMP comes in
handy when you need to test your product. The abbreviation MAMP stands for:
Macintosh, Apache, Mysql and PHP. With just a few mouse-clicks, you can install
Apache, PHP and MySQL for Mac OS X!
MAMP is installed in the typical Mac fashion: very easily. MAMP will not
compromise any existing Apache installation already running with your OS X. You
can install Apache, PHP and MySQL without starting a script or having to change
any configuration files. However the developers do not recommend using it as a
Live webserver.
5)
NVU (Free –
PPC only)
NVU was originally developed for Linux but now it is also available for Windows
and OS X. It is a complete web authoring system, which could even compete with
Dreamweaver. Some of the highlights are the WYSIWYG editor, integrated FTP
capabilities and Tab editing.
6)
Tramsmit ($17.95 – Intel/PPC)
Transmit is a very Mac-like FTP / SFTP client. The main features include column
view, tabs, a sidebar, new favorites, search, dock status, spring-loaded
folders, iDisk and WebDAV support.
If you are looking for a free application I would highly recommend you to try
Cyberduck, which has pretty much the same features and also available for both
Intel and PPC based Macs.
7)
Zend Studio ($ 99 – PPC only)
Zend Studio 5 is the only Integrated Development Environment (IDE) available
for professional developers that encompass all the development components
necessary for the full PHP application lifecycle. Through a comprehensive set
of editing, debugging, analysis, optimization and database tools, Zend Studio 5
speeds development cycles and simplifies complex projects.
8)
Parallels ($ 49.99 – Intel only)
Although it is not directly related to Developer tools, it you are developing
cross platform applications, this would be a good choice. Parallels Desktop for
Mac is the first solution that gives Apple users the ability to run Windows,
Linux or any other operating system and their critical applications at the same
time as Mac OS X on any Intel-powered iMac, Mac Mini, MacBook or MacBook Pro.
Unlike dual-boot solutions, in which users must completely shut down Mac OS X
and endure a full OS start-up cycle to access a important application,
Parallels Desktop for Mac empowers users with the ability to run important
Windows programs like Outlook, Access, Internet Explorer and all other
applications without having to give up the usability and functionality of their
Mac OS X machine even for a few minutes.
9)
CSSEdit ($24.99 – Intel/PPC)
CSSEdit features full-blown source editing for the advanced user. With one
click you transform the easy to use visual editors into a mighty source code
environment.
Besides standard coding features such as syntax coloring, find and replace, go
to line and auto-indentation, CSSEdit offers intelligent auto-complete. It will
never suggest double properties, is fully context sensitive, and remembers the
items you use most. The superior organizing capabilities in CSSEdit will make
managing your style sheets much easier.
10)
X11 (Free – Intel/PPC)
The X Window System (more commonly called X11) on Mac OS X provides significant
opportunities for Mac OS X developers. Based on the open source XFree86
project, X11 for Mac OS X is compatible, fast, and fully integrated with Mac OS
X. It includes the full X11R6.6 technology including an X11 window server,
Quartz window manager, libraries, and basic utilities such as xterm. Whether a
Unix user or an X11 developer (or both), Mac OS X offers a platform where your
applications can run without modification. On a Mac, any of the thousands of
available X11 applications can run in a window running concurrently alongside
iTunes, Microsoft Excel, and any other Cocoa, Carbon, or Java applications.
The Applications listed above are some of the very few tools for developers
coding on OS X. I have chosen them because they are some of the most commonly
used Apps. by thousands of developers around the world. Please aware that, I
have extracted some of the text from the respective Developer websites for
clarity. If you have more suggestions, do not forget to mention here for the
benefit of others.
After publishing this article there was a public out cry about not listing huge
number of other Applications. As you can imagine the number of potential
Applications can be counted in hundreds and it is not possible to add them all
here.
However I thought it is worth mention about couple of software which I have
carelessly ignored but well deserved a mention.
Eclipse (Free
– Intel/PPC)
This is probably the best integrated development environment for Java. The
Eclipse Platform is written in the Java language and comes with extensive
plug-in construction toolkits and examples. It has already been deployed on a
range of development workstations including Linux, HP-UX, AIX, Solaris, QNX,
Mac OS X and Windows based systems.