This article describes briefly what Virtual Machines are, why they are useful, and compares some VM software for Mac OS X: As web developers, it is often our responsibility to ensure that the websites we build are accessible by users of any common web browser and operating system. Since some browsers are only available on a limited selection of OSes, or behave differently on different OSes, it is impossible to be able to test a website on all browsers with one operating system; In order to test websites frequently, we need to have ready access to a variety of operating systems. Many folk use a secondary machine to run secondary OSes on, or dual-boot their primary computer. However having a mostly-redundant computer sitting by can be expensive, and dual-booting is time-consuming to switch OSes and does not allow you to access tools in your primary OS while testing in the secondary OS. As a result virtual machines are becoming a popular solution. A VM is a computer OS (the guest) running inside of the environment of another OS (the host). The VM software, an application in the host OS synthesizes or virtualizes a hardware environment for the guest OS. Running a VM doesn't require a second physical machine, nor does it require rebooting (like dual-boot). It does use a lot of system resources though, so you'll want a powerful a machine if you use VMs frequently; In particular you'll want a lot of RAM. Now that Apple Mac computers run Intel processors, it has become much easier to write VM software for Mac OS X (where OS X is the host OS). Combined with the ever-increasing specs of computers and ever-lowering price of RAM, VMs on Mac OS X have become a very popular way of enabling ready access to multiple OSes. This article is a brief comparison of some VM software for Mac OS X. Jump straight to the conclusion.
The CandidatesFor Mactels (Apple Macs with Intel processors) with Mac OS X as their primary OS, there are several options available to run VMs;
- VMware Fusion, Proprietary (VMware Inc), USD 40-80
- VirtualBox, Mostly-open Source (Sun Microsystems Inc), Zero-cost
- Q – [kju:] (aka "Q.app" or "kju app"), Free/Open-Source (based on Qemu), Zero-cost
- Parallels Desktop, Proprietary (Parallels Inc), USD 50-80
VMware FusionVMware Fusion is the VM I currently use. It is feature complete, has a good GUI, it is easy to set up new guest VMs, does not consume more resources than necessary and is relatively fast when starting, suspending and restarting VMs. You can get up to 50% off the USD 80 shelf price with coupon codes, rebates, education discounts or combinations of the above. VMware is currently my first choice, but read on...
VirtualBoxVirtualBox has only just come to my attention, but I am very impressed. It has all the critical features. They aren't all quite as easy to use or as fast as VMware Fusion, but not unbare-ably so; It's quite usable and useful. VirtualBox is definitely my second choice, and will quite likely replace VMware Fusion in the future. If you don't want to spend USD 40 to 80, then it's a no-brainer; go for VirtualBox. VirtualBox has been available for Mac OS X since April 2008, but somehow slipped my radar until last week, August 2008.
Q – [kju:] (aka "Q.app" or "kju app")Q is a lesser-known emulator that I tried almost 2 years ago and found it rather limited in regards to features and somewhat buggy. At that time Parallels was far superior. However since it was very young at that time, I can not reliably comment; I would have to recommend one tries it out and lets me know! The obvious advantage of Q is that you can hack it to bits yourself and add or complete the features you need. Of course you can do that with VirtualBox too, but Sun is less likely to be as friendly towards your contributions as Q and Qemu would be. Of course you also need the skills to do that.
Parallels DesktopParallels had a great business model; Be the first to provide a powerful VM for Mactels and smother the market. They were very successful. With the first stable and fully-functional VM for Mactels Parallels smothered the market and held it alone for several months (possibly more than a year?). However it seems that in rushing to get Parallels out the door quick enough, Parallels acquired a lot of technical debt, which they do not seem to be able to pay off as quickly as they need to. Parallels now is slow, buggy and eats RAM and system resources like an elephant. While it is the most feature-complete, some of it's features are perhaps overkill, and not worth the cost of the resources they consume. Early stable versions of Parallels Desktop 1 are recommendable, but are unsupported missing a number of useful (but not critical) features and near-impossible to locate given the proprietary nature of the software. Parallels is way past it's hey-day; Steer clear and go for VMware Fusion instead, which is the same price or cheaper, more stable, less resource-hungry and almost as feature complete. VMware has managed to fit most of the same features without becoming bloatware.
ConclusionFor most people, VMware Fusion is probably the best choice. If you don't mind a slightly slower or less user friendly VM in exchange for the dollar cost of VMware Fusion, VirtualBox is a great choice; Also consider Q. If you want to hack the VM or are an orthodox Free-Culturista, Q is possibly a good choice; Also consider VirtualBox.