Recently came across a question on StackOverflow "Getting started developing with Sitecore CMS on a Mac using C#".
This topic is quite interesting as I am working with Sitecore entirely from my own MacBook for the past few years so I've decided to share my experience with the community.
Being a follower of Apple products I got a top spec MacBook Pro 15" and was willing to make it my primary computer that is always with me and which I can instantly open and start coding. After trying to find the best approach to run the entire Windows server ecosystem on Mac, I turned to virtualisation. The best solution I've found is Parallels Desktop and it brings me better experience than I would expect to get working on a native Windows machine. So what makes this approach so effective?
- Virtual machine is a file / directory on a disk drive, so copying / archiving allows me to persist current state of each virtual machine with the ability quickly backup and restore.
- Derived from pervious: I have few pre-configured VMs with Visual Studio, SQL Server, IIS and and Sitecore as well as all development tools I may require. I can immediately return to work even in case of malware preventing me from doing that.
- Parallels Desktop has tight integration between host and virtual machines. Shared clipboard and resources, it is possible to drag-drop files between Finder and Explorer. Many other sweeties as well are available with Parallels Desktop like Coherence mode, when windows entirely "melts" into mac, with Start button in the doc.
- Ability to run multiple virtual machine in parallel - as many as your host Ma machine's performance allow.
- All virtual machines are connected to host mac and each other by a virtual network, so now I am able to create web farms and clusters, sometimes entirely reproducing production environment configuration. Also it is possible to run bridge to external network so virtual machines get network parameters from external DHCP server and will be able to use corporate resources like source control etc. as normal machines would do.
- Adequate performance and immediate response combined with well thought default settings make it easy to start.
- Full screen mode entirely simulates usual windows experience
- Ability to run other operation systems, for example you would want to run a Linux VM with MongoDB at the same network.
The only negative point about Parallels is that it is not free, the rest pretty perfect.
I would especially recommend Parallels Desktop
to those who are just beginning working with Sitecore, as their chances to break anything by mistake are high enough, so the ability to create a restore point at every single moment is very beneficial for them.