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.

Screenshot of MAMP and phpMyAdmin

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.

Screenshot of Locomotive

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

Screenshot of TextMate

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

Screenshot of the ColourMod Dashboard widget

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

Screenshot of Transmit

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:

Discuss - 73 Comments

  1. [...] via: Recommended OS X Tools [...]

  2. wtf? says:

    Dear Dan Atkinson:

    Macs aren’t “serious” dev machines, huh?

    You OBVIOUSLY are one of what I like to call “Point and Click” users (if you actually call yourself a developer… well, that makes me sad).

    Do you realize the dev power of one of these machines? After all, it *IS* a flavor of Unix under the hood.

    To top it all off, Apple *GIVES YOU* XCode, FOR FREE! It has all the standard dev tools (gdb, python, ruby, java, perl, gcc, gdb, objdump, hex, dtrace, dtruss, objetive c….the list just keeps going on and on and on…), and even throws in things that real developers and computer engineers love, and *NEED* such as VI and Emacs.

    WTF is wrong with you?

    Get with the picture.

    My guess, from your comments, is that you don’t even understand the difference between Intel and AT&T flavors of Assembly (it amazes me how little real education people need to obtain a degree these days…).

    I work at a very large global software company, and we pretty much all take these machines seriously, at least more so than most windows machines.

    Sure, Apple markets these machines towards the lonely house wife, and modern day metrosexual with all of the pretty pictures, and point and click movie creation software. Hey, why not? Apple makes A LOT of money from this portion of the market, and these machines work very well for that sort of activity. But, under the hood, these are beasts of machines. And, *if you actually understand what you are doing*, and know anything beyond:

    10 print “I’m a lemming…”
    20 goto 10

    then you quickly understand the real power of these machines.

    So, before you spout off at the mouth again, please, go visit your local bookstore, and pick up any book besides a “…Become a Dot NET Microsoft Monkey Boy in 24 Hours” flavor.

    Computers are amazing and complex machines. It’s a real shame that the people that use them aren’t…

    • qp says:

      Amen to that!
      But the world needs point and click tools, for people who don’t have the time to delve deep into the mechanisms that power those tools. These people just want to get something done in a visual way.
      However, some of these users somehow get attracted by these machines, not by the relatively sophisticated internal workings, but by the exterior relative non-obstructiveness of the high-level interface.
      Both groups love Apple products for their own things, and that’s nice!

    • Andy says:

      “Computers are amazing and complex machines. It’s a real shame that the people that use them aren’t…”

      You complete nerd. Your answer is technically correct yet your summary proves how petty and short-sighted you are. Humans are amazing, even though they aren’t all aspiring to the greatness that is programming and development – shame on them, huh?

  3. Yann says:

    Thanks for the article!

    I actually just wrote an article about my web dev setup and thought I’d see if others have described their own. Here’s my take on it, seems like we use most of the same tools, although I like VMware better than parallel and I use custom HTML + CSS TextMate bundles:

    http://minimaldesign.net/articles/read/the-ultimate-web-dev-setup

    Thanks for the tip about Locomotive, I’ll definitely check that out!

  4. ohuf says:

    Open Source alternative for Parallels Desktop (Windows/Linux virtual machine)?

    Go for VirtualBox http://www.virtualbox.org .

    This is a good replacement for Parallels Desktop or VMware Fusion (another payware for the Mac).
    VirtualBox had recently been acquired by Sun Microsystems.

    Have fun!
    ohuf.

  5. Abe Lincoln says:

    To the person who wrote wtf? All your post tells us is that you are an arrogant asshole, nothing more. By reading your post, we all can see you have no more humanity in you than these amazing machines you talk about. Why, I never had a computer in my day and look at the accomplishments I made in my life. Have a little respect for the author, Dan, who has the generosity to give tips to others who want to learn. Contrary to what your angry little mind tells you, there are many talented web developers using these tools. It’s not about how much you know, it’s about what you do with what you know. You spreading hateful posts is nothing but cyberspace garbage, and delegitimizes the knowledge you do have.

    AL

  6. meTF says:

    Amen to THAT! Abe I promise you we (developers) are not all like that.
    Development of any kind is a scientific field where the only thing that counts at the end of the day is what you contributed to that field science. The best developers I know are rather eager to pass on their knowledge and experience in a positive way. This is much more rewarding in many ways “wtf” has yet to grasp.

    Im my personal experience (starting pre modem) the ones who trashed others with their knowledge like that lacked core character and where just compensating. I feel truly sorry for the guy.

    Try some yoga or something man to get some zen in where you got that stick stuck.

    Do you know jesus?

  7. meTF says:

    Oh man I was so upset to read that I forgot what I came here for.

    Im looking for some good alternatives to Adobe Dreamweaver.

    I looked at the open source KompoZer and Amaya so far and I´m not at all satisfied. Dreamweaver is a big fat hog with way too much crap nobody needs but has the workflow concept I need.
    I use MAMP (great suggestion – doesn’t get any better that that) to manage my project servers locally and Dreamweaver nicely integrates with it´s site management, FTP and co.

    any suggestions?

    • Derek says:

      Check out Coda – http://www.panic.com/coda/

      Decent editor, nice visual site manager, direct access to local & server files, built-in support documents for programming languages (room to expand and add your own). The only flaw that I see with the application is the lack of code folding. Some people may not use this basic feature but I think it makes a HUGE difference when you’re dealing with massive files. No matter how beautifully code is organized, it can still be a little hectic dealing with lines and lines of code. Folding lets you hide and show only what you need.

      The other alternative is Espresso. Relatively new, still an early release (out of beta though). Similar to Coda in that you can manage your production site locally. Still has lots of room for improvement. http://macrabbit.com/espresso/

      Note that neither of these clients offer WYSIWYG editors.

  8. meTF says:

    Coda is so sweet, I fell right into it like I´d been using it forever. This app is fast, slim, intuitive and well organized. Feels good in all my languages. I could go on and on… just what I was looking for. I use code folding too but not really missing it, yet.

    Thanks Derek and keep up the good work here! Google has brought me here for the third time looking for answers so you must be doing something right.

  9. I’d prefer Virtualbox over Parallels too. OSS forever :D

    I’d add also a little tool to simulate real-word connections even if you are developing on your local server: http://slowyapp.com/

    Used in conjunction with PageSpeed or YSlow it can help you improve your website behavior on crappy connections.

    • Derek says:

      Cool tip. OS X Lion developer tools provides a similar utility called Network Link Conditioner. It is a System Preference option that simulates everything from slow 3G to varying wifi quality connections.