first got my Mac - and started this series of articles - roughly 21 dog-years ago (in my observations, dog-years and computer-years are roughly equivalent). Surprisingly enough, the topic of developing software on a Macintosh from a Windows-developer’s perspective is even more relevant today than it was then. In this time, a number of technologies have matured which can make this transition even easier. There are several worth mentioning, but for myself, I found that having all my Windows tools readily available is the single most significant enhancement in usability.
Previously, I justified my purchase of a Macintosh as a secondary device:
“When people say they decided to get a Mac, it often means they replaced their PC with a Macintosh. Fat chance.”
I’ll take my crow deep fried please.
For my first year developing for iOS, I used a KVM device to switch my keyboard and one of my monitors between boxes. I had to switch my second monitor over manually, but it was a functional solution. I transferred files between my Mac and Windows boxes using Dropbox and a SVN server. This too worked, but on the whole, I was never really satisfied with this environment. Wistfully, I would harken back to the days when I naively thought I could get an OSX virtual machine to run under Windows. Silly man.
Then I came across Parallels.
Parallels, an alternative to VM Ware, is a virtual machine layer for the Mac. If you’ve never looked into virtual machines before, I suggest you take some time to dig into it. Several years ago, I toyed around with virtualizing Linux under Windows, and found that it offered a much more effective solution than dual booting. I was never able to get OSX to run virtualized under Windows; however, the reverse is much easier: Windows runs virtualized under OSX, no problem.
VM Ware has a large following, and it’s a valid choice. For me, a little research led me to choose Parallels. Primarily, this is because it scored really well on Direct X performance tests and offers some rich integration features, including an optional “Coherence” mode (shown below) which lets your Windows apps run on the Mac desktop seamlessly.
It also runs Windows 8 without a hitch.
There is a cost associated with virtualizing: Parallels costs around $80 and you still need to pay for the Windows license, but if you’re a Windows-man looking to begin developing for Apple products, I highly recommend getting a virtualized instance of Windows running on your Mac. It’s easy, it’s immersive, and it’s a wicked time-saver that lets you jump back to your familiar tools when you need to. For me, although I still spend 99% of my non-development time in Windows, I’ve finally retired my Dell workstation and now run exclusively on my Mac.
Turns out you can have your cake and eat it too.
In my next post, I’ll cover a critical, game-changing advancement in the development tools arena.