Tuesday, April 8, 2014

Mac, Windows, Ubuntu cross-platform development

“Grand[m|p]a” (have to be careful with pronouns this year), “what did you use to write cross-platform software back in 2014? No, really… do tell… Wow, amazing… It is, like, they really did not have […]?”

This post describes a cross platform development setup that proved efficient for me in the course of several cross platform projects (most notably Edge.js). As anything in technology, this is point in time: it has as much practical value for my contemporary engineers as it going to have entertainment value for my daughter.

Cutting to the chase:


I am using a MacBook Pro 13” (my shoulders are getting too old to drag along the 15”) with SDD 512GB (my ears are too old to listen to the HDD hum) and 16GB RAM (my nerves are too strung to wait for Windows to do its thing).

I am running Windows 8.1 and Ubuntu 12.04 in a VM using VMWare Fusion. Including the MacOS host, this captures most of my x-platform target.

I share the home folder on the MacBook Pro to both Ubuntu and Windows WMs. This is the quickest way to share files across the host and guest OSes.

I use Git[Hub] for sharing public artifacts between my fellow developers and my own development machines.

I use OneDrive for sharing private artifacts between my development machines. I suppose you could use DropBox, but I am psychologically biased towards OneDrive.

I use Sublime Text for a uniform code editing experience across platforms. It is sublime. And text. Plus, Commodore is so much better than Atari. Bottom line it works x-platform and has all these fancy colors, unlike vi. Could not resist.

I use Visual Studio for those infrequent tasks that require Windows specific work. It also comes really handy when profiling code. Turns out some of the code that is slow on Windows is also slow on *nix and MacOS. Yes, at the end of the day everything boils down to E=mc^2.

I use Windows Live Writer to write this post.


  1. How will you handle asp.net web development. Is it even possible to do web development in osx

  2. Creative design and most creative work in general is a remix of existing elements from a multitude of sources; not a copy of any one, but an arrangement of many. Once this understanding of creativity is embraced, it can be applied to the content creation, design and development of your own websites, applications, and other branding and marketing efforts. Credit Union Web Design is also supportive.


My Photo
My name is Tomasz Janczuk. I am currently working on my own venture - Mobile Chapters (http://mobilechapters.com). Formerly at Microsoft (12 years), focusing on node.js, JavaScript, Windows Azure, and .NET Framework.