Since we make a popular cross-platform development tool, I’m often asked “what type of computer should I get for cross-platform development”?
You might think that can be a tricky question to answer because they are so many different types of computers. But there is only one computer that can run the three major operating systems without violating a EULA: a Mac.
The truth is that if you want to do cross-platform development and you plan to target OS X, then you need a Mac. There is no other supported way to run OS X. Luckily Macs are actually really good computers. A couple years ago, the Macbook was actually named the best performing Windows laptop.
With a single Mac, you can run OS X of course, plus you can easily run Windows and Linux. I’ve talked about using Virtual Machines for this, which I highly recommend. But a Mac also lets you use Boot Camp to allow your Mac to boot directly into Windows and use it at full speed. I personally don’t use this as I find rebooting to be rather inconvenient, but Boot Camp is free and has recently been updated to support Windows 10.
Remember, if you already have Windows 7 or newer, you can upgrade to Windows 10 for free. And Microsoft even provides free VMs for testing Internet Explorer and Edge that work great as a test VM for cross-platform development.
On the Linux side, most distributions are free so it is easy to try them. I have about 20 Linux VMs set up, but personally I like Linux Mint because it installs quickly, is fast and easy to understand.
But what if you just don’t like OS X and don’t want to use it as your primary computer? In that case, your best option is to get the best computer for your primary OS and then pick up a Mac mini (maybe even a used one) that you can use for OS X testing and iOS development. You can still use VM software on Windows to run Linux or run Windows in a VM on Linux. Or you can dual-boot.
It may also be possible to run OS X in a VM with Windows (or Linux) running in Boot Camp, but I haven’t tried that. It might still be against the OS X EULA, though.
System76 has some nice computers (laptops and desktops) that are pre-configured for Linux. I’ve not used them, but I’ve heard good things about them from people in the Xojo community.
My only Windows computer is an HP Stream 7 (not a good development machine), so I’m not the best person to recommend something for people that prefer Windows. If you have some good suggestions, leave them in the comments.
Other things to keep in mind when getting a computer for cross-platform development:
- SSD! Do not skimp and get a hard drive. An SSD (solid-state drive) is by far the best performance enhancement you can get. If you can’t afford a new computer, then add an SSD to the one you have.
- More RAM. If you run lots of VMs at once, you’ll need lots of RAM. Each VM will want at least 1GB, some will need 2GB and others may need more. VMs can quickly eat up RAM.
And a few other things to make software development more pleasant:
- Large screen. Sure, laptops are popular, but when working at a desk nothing beats having a nice large screen to spread out your apps and windows.
- Good speakers. Doesn’t everyone listen to music while working? I enjoy the Bose Companion 20 speakers. They take up little room and sound great for the type of music I listen to.
- Comfy chair. I use a Tempur-Pedic Office Chair.
- No, the Atari ST in the picture would not make a good development computer (although it was in its day). You can emulate it if you want, though.
Interested in cross-platform development? Xojo lets you build native apps for Mac, Windows, Linux, the web and iOS. Oh, and Raspberry Pi support is coming in our next release!