Windows Programming on a Mac
(Sep 04 2007 - 03:54:52 PM
by David Martin
) - [print blog
I've been a Mac user for many years, but have always done ASP and ASP.Net development professionally. This disparity has been a conflict in choosing a home machine. Now, I've done all of my Windows development on a Mac for the last 10 months. With BootCamp, Parallels Desktop, and VMware Fusion, it's never been easier to run Windows on a Mac either natively or virtualized.
I've run all three and they have their strengths and weaknesses. With BootCamp, of course, you have to reboot. That's OK if you are looking for full throttle performance. Both Parallels Desktop and VMware Fusion allow you to use the BootCamp partition as the source of your virtualized machine. Very helpful.
I am currently using an instance of XP Professional with 512 Meg under VMWare Fusion on my 17" MacBook Pro. I have installed: SQL Server 2005, Visual Studio 2003, Visual Studio 2005, Office 2003, IIS, VPN client and various other utilities. It runs great!! It benchmarks faster than my last Dell box (2.8 gHz P4, with 512 Meg of RAM). There are a few slowdowns usually when switching between OS X and the XP virtual machine while doing something that is disk based in the background.
I find that Fusion runs a bit more stably and leaves more of the Macs resources untouched until needed. At this moment I have in the virtual machine Outlook, Excel, Visual Studio, Internet Explorer and SQL Server Management Studio 2005 all loaded and the CPU runs smoothly at about 12%. That's with a bunch of OS X apps running on the Mac like Safari, TextMate, Mail, iCal, Address Book, Xcode, Adium and iTunes. Twelve Percent!! Parallels in a similar configuration was always taking about 30%. But I have found that Parallels makes many incremental improvements while it looks like VMWare has a more lengthy development and testing cycle. Parallels currently has a new Release Candidate of Parallels Desktop for Mac that may address some of these performance issues.
I find this setup very convenient for testing web apps. It's easy to load multiple OS's on my Mac and test with different browsers and all of their versions and flavors.
What's your development and testing setup?