Web development – Recommended OS X tools
Development applications & utilities surface with announcements and updates on a regular basis promising increased productivity, time-saving innovative features, and my all-time favorite – the ability to “deliver awesome standards-based sites in no time!” If only achieving the end results were so simple…
I have fielded a handful questions from contacts inquiring about applications used in my daily routine. The following are the applications & utilities which have proven their merit through the past few months of work. Applications which I have personally trusted / relied on and would happily endorse. I urge potential users to ignore claims promised in the first few introductory lines on a developers page opting instead to try each one out for them self.
Setting the local stage – MySQL, Apache, RoR
If you enjoy the idea of using valuable time setting up the necessary environments correctly in order to begin your personal web development projects, Google is littered with tutorials & How-to’s (e.g. install MySQL) on diving straight in downloading the necessary packages and spending a little time within the Terminal.
Personally, I grew tiresome of the tediousness of the entire process. Especially after having to move from various machines on multiple occasions within very short time spans. There is a much easier method of achieving the appropriate development environments, and they come in very simple drag ‘n drop installations. All-in-one solutions meaning everything needed is contained with a single directory which you can drop into your ‘Applications’ folder. Backups? Moving to a new machine? No messy exports needed. Simply drag your all-in-one environments to your new hardrive and continue where you left off.
MAMP – Macintosh, Apache, Mysql and PHP – The essentials conveniently packed into a single 214MB directory which can reside anywhere on your Mac. MAMP is completely self-contained meaning that the installation does not make any changes to any existing Apache installations that you may have installed on your machine. Furthermore, if and when the times comes that you decide to move your work, simply copy the entire directory to an external drive or thumbdrive and trash the local copy (leaving no trace of your previous work). All web documents to be served as web pages are stored in an ‘htdocs’ within the MAMP directory while both the Apache & MySQL server are controlled via a simple GUI interface or convenient Dashboard widget. Loathed the idea of manipulating your MySQL tables from within the Terminal? MAMP comes with phpMyAdmin making managing your MySQL tables.
Ruby on Rails development? Go Locomotive – Similar to MAMP, Locomotive is the complete solution for beginning and veteran RoR (Ruby on Rails) developers to make the best of their time. Gone are the days of hunting for necessary libraries or resolving incompatibilities. Like all things simple on OS X, Locomotive is a single utility to get up and running developing on rails.
TextMate – A single tool for all development needs
Previously mentioned in the Top 10 apps to supplement blogging post, TextMate continues its reign as the single most used tool in my ‘Applications’ folder behind the default browser. The reason? The application comes stuffed to the brim with features and functionality rivaled by little else. Web development specific features include a slew of customizable auto-completion shortcuts & snippets, bundles [blogging anyone?], code preview, and my favorite inline W3C Validation. Additionally, TextMate allows users to create “projects” which may contain any number of directories or files (aliases). My Desktop is littered with these little projects – which when clicked – open all pertinent files required for editing a page / site.
ColourMod Dashboard – Simplify color selection
Previously, my hunt for colors was remedied with with the help of Photoshop. Extremely resource heavy, CS2 was replaced with a convenient Dashboard widget known as ColourMod Dashboard [previously: Recommended Dashboard Widgets]. Quite simply one of the most valuable color tools any OS X user can get their hands on without the extra weight of extraneous features.
Parallels & CrossOver – Who needs a Windows box?
Developing on OS X does not necessarily mean that Internet Explorer users must be ignored. One of the greatest values of Intel powered Apple hardware is the ability to run everyones favorite browser natively (incredible sarcasm). Although PPC variants are very much capable of emulating the Windows operating system [Virtual PC for Mac] in order to achieve the same testing environment, the results are sluggishly slow.
Parallels Desktop for Mac – A popular method of getting Windows running on OS X. Run the entire operating system at near native speed. I prefer the convenience of starting any Windows application without needing to reboot. I currently use Parallels for nothing else but to run multiple versions of Internet Explorer.
CodeWeavers CrossOver – Despite being in an active beta state, CrossOver shows incredible promise. Coupled with CrossOver, Intel powered Mac users can run Windows applications without the need to boot into the Windows OS using Boot Camp or Parallels. Although I have yet to experiment with any other applications aside from Internet Explorer 6 (no working method for getting Internet Explorer 7 working), I look forward to the progress made by the CodeWeavers team. Noticeable rendering bug is inaccurate font handling due to the fact that IE6 is unable to access correct fonts.
Transmit – Seamless file upload & download
Tried and true, Panic’s Transmit FTP client is among the best that I have ever toyed with. As with an OS X application, there are always alternative that users will offer up in defense. Personally, the simplicity of the interface, connection options – FTP/SFTP, Bonjour, Favorites, iDisk support are all convincing enough to retain Transmit the FTP client of choice.
Open source alternatives?
Although some may balk at the fact that most of the aforementioned applications and tools require registration fees, those interested in open source alternative list may enjoy the version listed below: