This blog post is being reprinted with permission from the original author, Carl Franklin. We are extremely excited and pleased to get to share his post as a special guest blog this week! Read on to learn about his experience choosing and using Parallels Desktop on his MacBook Pro.
I went searching for the ultimate developer machine setup, and I’ve found it. The title of this post says it all.
I started with a full blown MacBook Pro. It’s got 16GB of RAM, the retina display, and a 1TB PCIeX-based flash drive, supposedly faster than SSD. Basically, I got all the options, and I’m not regretting it. I don’t miss the touch screen, either.
I thought I should begin by signing in to all of my social services. That got very annoying very fast. I started by turning off notifications, then I just decided to remove the accounts since this is a developer machine. I use my phone to check Facebook, and the web-based Gmail client works just fine for me.
Then, I added Parallels Desktop, which lets me run Windows and OS X at the same time. You can either switch between full screen or use “Coherence,” a view mode in which Windows apps can run right alongside Mac apps on the same desktop.
Parallels Desktop allowed me to install Windows 8.1 with the option to make it look like Windows 7. This option actually installs the Stardock apps, Start8 (which gives you a Windows 7-style start menu) and ModernMix (which lets you run Windows Store apps on the desktop). It was a seamless experience that just delighted me to no end.
After figuring out how to navigate Windows with Parallels Desktop (switching in and out of Coherence mode), I made sure all the latest updates were installed, and then started installing the following Windows apps:
- Visual Studio Professional 2013
- Microsoft Office 2013
- Xamarin Tools for Windows
NOTE: In order to get the Visual Studio experience you know and love, you must disable the Function Key mapping that Mac imposes: go to System Preferences/Keyboard. From the Keyboard Tab, check the box that says Use all F1, F2, etc. keys as standard function keys. Then go to the Shortcuts Tab, select Mission Control, and uncheck Show Desktop (F11) and Show Dashboard (F12).
That will give you back your function keys in Visual Studio.
On the Mac side, I installed the following:
- XCode – via App Store
- Xamarin Tools for Mac
I also had to install the Samsung USB Driver for Mobile Phones so I could connect my Galaxy S5 and use it for development. If you plan on using an Android device, there are instructions on Xamarin’s website, but I found these instructions didn’t explain that you might need to go online to find your phone manufacturer’s USB drivers. I had to find that by searching via Google/Bing.
Also, as noted in the documentation, I had to enable USB debugging on my S5. That’s tricky. First, you have to enable developer mode on the phone by standing on your head and reciting a spell. Then, you have to enable USB debugging. This won’t work unless the USB driver is installed.
After all of that, I was able to create a new Xamarin Forms app with Visual Studio 2013. I created a Shared project in VS2013. I set the Android project to be the startup project, ran it, and after a few minutes I saw “Hello Forms” on my S5 screen. Great.
The Windows Phone option was easy. It ran in the emulator, which is pretty good.
The iOS app was a bit trickier to set up.
First, you need to run the Xamarin iOS Build Host ( an app which comes with Xamarin Tools) on the Mac side, and press the Pair button.
The Xamarin tools in Visual Studio will look for this app on the same machine. This is the reason I chose a MacBook Pro with Parallels. It just works.
In Visual Studio you select the iOS emulator, and then you get to select which iOS device you wish to emulate. Set the iOS project as the startup project and run the app.
To summarize, if you want to minimize the cross-platform headaches involved in developing with Xamarin tools, go with a MacBook and Parallels Desktop.
About Carl Franklin
Carl Franklin is Executive Vice President of App vNext (appvnext.com), a software consultancy focused on Internet of Things (IoT) and New User Interface (NUI) as well as web, mobile, cloud and desktop development. App vNext helps its customers build business value by architecting and developing complete systems that span every known development technology, language, and platform. Carl is also host of the ever-popular .NET Rocks! podcast (dotnetrocks.com), one of the first podcasts ever. Carl tweets @Carlfranklin. Reach him by email at firstname.lastname@example.org.