Developing for Windows on a Mac

by Giles Turnbull

It’s a strange, strange world. One consequence of Apple’s switch to Intel processors is the ability to run Windows on a Mac. And a consequence of that is Windows developers writing Windows software - on a Mac.


2006-11-06 06:45:03
I know one very large software company (five-letter name, three vowels) does this for most all of their development. Just about everyone there has MBPs. It doesn't impact the amount of Win-only code they write, since those are decisions made independent of their platforms.
Brant Sears
2006-11-06 07:46:48
I'm developing for Windows and Mac using Qt (TrollTech). I do the vast manajority of my work on the Mac, then recompile and test on Windows. Much nicer than having to write two apps and much nicer than using Windows native APIs - though not as nice as Cocoa.
2006-11-06 07:50:56
Up until this summer, I was running Parallels writing Windows code full-time. I was writing Active-X controls, HTAs, and even some Visual Studio work. Worked great. When the Windows OS registry would inevitably get corrupt, I would just toss the image (well, I'd copy the code to the Mac via shared folder) and start from a backup... voila, instant fresh Windows install!

Now that I have a new job, I don't really run Parallels except to check web app compatibility.

Ming Chow
2006-11-06 07:57:12
Yes, I am doing this. I have the MacBook Pro for two weeks now, and I am considering dumping my desktop (i386). The key is that, as Jamie pointed out, is that the Windows OS is very clunky. On a Mac with Parallels, if I make mistakes on Windows, I can delete the VM, and put back a clean one (I have to make a copy of the good Windows VM onto a DVD first). On an Intel Core 2 Duo, Windows XP (even on Parallels) feels like native. Of course, you can argue that I can do this on a Linux box. But, Linux can be unstable and erratic at times, especially with dependencies, new kernels, and upgrade mishaps which are common. The Mac OS interface and architecture are incredible, which are driving factors for all of this.
2006-11-06 08:15:16
I do this as well. Visual Studio 2005 runs just fine on XP in Parallels; the only complaint I have is the throttling of USB hard drives to USB 1.1 speeds. Otherwise, I have no complaints, and it lets me have the best of both worlds.

Performance of Parallels on the current Mac Pro with 2 gig of ram is pretty nice for this kind of work.

Rob Uttley
2006-11-06 08:26:19
Yep - I'm doing exactly the same. Right down to the Delphi bit!

I use Delphi 7 Enterprise along with MS SQL Server Express, Interbase 6.0 and even DB2 in Windows XP Pro SP2, on my MacBook Pro via Parallels. I've got 2GB of ram in the box and, at least in the office, an external keyboard/mouse and second (20" cinema) display, because there's only so much you can do cramped over a laptop (even a 17" babe of a laptop like the MBP).

And as was noted, developing on a VM is great. In the past I've been using VMs for testing installations and for creating virtual networks, but now there is a real case to be made for developing on a VM - it's simply very quick and easy to backup, if nothing else. I have a small bit of Applescript that runs a backup of the 2 parallels files over to my external firewire drive every night. There's a lot to be said for backing up the entire development machine so quickly and painlessly, at will (and that's everything, including database files, config files and even temp directory contents) - it would have been much more of a pain to do that kind of thing if I'd been developing on a 'real' (non-virtual) machine.

Like Jamie, I love the Mac interface and as I had started spending a lot of time on a Mac at home (I'm a budding songwriter out of office hours) it just made sense to get to a point where everything I did was in one convenient box.

I haven't started coding on the Mac yet, although I'd like to think it's a matter of time. I'm very busy with my day job at the moment (my company is effectively me) and so my time to learn/play/pick up new stuff is a little limited.

I think more people will get into doing this as time goes on, not necessarily with the Mac as such but simply using a VM'd machine to develop in.

There are a couple of niggles with Parallels - USB has already been mentioned but I've had an occasional headache (mostly where I've suspended the VM in an environment where I only had wireless networking, and resumed in an environment where I had no wireless but did instead have wired - that seemed to scupper the speed of transfers between the VM and the host Mac - but that's not a huge deal and it's only bitten me a couple of times). Having said that, Parallels is a brilliant product and I can't rate it enough.

Kevin Ollivier
2006-11-06 10:19:59
I use wxWidgets/wxPython in order to write cross-platform software, myself. So, I've had the option of choosing which box to use as my primary development system. At first I actively developed on Windows and tested on Mac (since most of my users are Windows users), but as time went on, I've found myself doing everything on my Mac and just testing on Windows. The power of the Unix command line and the consistency and easy of use of the Mac really make me feel more comfortable developing there. And now, with the Intel Macs, Parallels is speedy enough that I no longer need to have separate Win/Linux boxes. It's pretty much become my ideal development environment now. :-)

2006-11-06 10:20:43
Been doing it for years (virtual pc on 17") now with the new intel books I have it even better and have convinced several other windows developers I know to do the same thing :)

It's been a great year!

Frank Mantek
2006-11-06 12:51:13
I am in the same boat, and i am trying to blog about my experience in that regards as well. Using a G5 powermac and now a MacPro made my live a lot saner compared to developing directly on a windows box. Especially now, the main lesson learned is probably: install a VM system first, than your work environments. Nothing beats copying a VM image to your laptop to take it with you...
Adam Ruth
2006-11-06 13:12:40
Yes, it's definitely growing, as I'm doing it now and I wasn't a couple months ago (Visual Studio 2005). It's great, I have three Macs and an entire virtual lab with a domain controller running in Parallels. Once the project I'm working on gets big enough, however, I'm going to get a second iMac to use with Boot Camp. I tried maintaining an old program that was several times larger than my current one, and it's was too slow to work on regularly. In Boot Camp, it's not a problem at all.
2006-11-06 20:43:38

I am using a Mac for roughly 1.5 years now. Since I am developing ANSI C code (library) for networking I can do that on virtually any device. The drivers / test environment are Windows-based, therefore Parallels.

Anything else (Mail, Office etc.) I am doing on the Mac, happily so.

If you search a good replacement for VISIO, check OmniGraphle Pro (exports VISIO XML). It is way cheaper and so much better (at least for development work).

The only windows application I have not yet found a Mac-pendent for is Araxis Merge. But they told me, they work on a Mac version. Till it is released, I have to use it in Parallels too.

2006-11-07 10:53:57
Sven, is OS X's FileMerge inferior to Araxis Merge?
Sean McCune
2006-11-09 09:46:29
I do both Windows and Linux development on a Mac with Parallels. We used to use Linux and vmware, and I'll probably try the OS X version of vmware when it comes out for compatibility with our old vm's and other developers still using Linux. You can't beat using a vm for ease in backup and restoration of development environments for different projects and cutting down on the amount of hardware needed. And you can't beat OS X. I do everything I can on OS X and only move to Windows or Linux for those steps that have to be done there (compiling, testing, etc).
2006-11-14 16:14:17
I am currently using a mac. I find it pretty neat to be able to to editing and such on the osx and then switch over to windows. The only problem is, when I'm trying to run programs on windows, (which are user friendly with PC.) I cannot run them, windows crashes and then I cannot go back to osx. When I hard reboot the system, Osx fails me and I have to go through the progress of reinstalling Mac OSX. When I researched, I found that the process is exactly the same on a mac with a power pc processer, only that now it's a bit more user friendly and that your not using Virtual pc anymore, its the same program with another name, put out by Apple. But Mac and PC are pretty good, and I'm caught in a shufti, which one to stick with...Mac or PC?
New Apple user
2007-02-08 04:23:26
I bought an iMac to try MacOS and still have a fallback to Windows (especially easy with free Mac dual-boot). However, working in virtual mode (VmWare) is a pain - it's simply too slow (despite 2GHz Core Duo, 1GB RAM). I wouldn't bother by another 15 sec of compilation, but flickering mouse movement is unbearable.