I was using a MBP (i7/16/370X), with Windows work in a VM, then during a pivot that had me out on the west coast in the AR/VR space, I wound up wanting a dedicated windows machine so switched over to Bootcamp (lightweight viz, mostly SDK coding, some API/service work, no GPU heavy lifting, but shared resources made things a little clunky ...). I wound up setting up a number of redundant tools since - as you know - when you're in Bootcamp, you're mostly isolated. I used things like DBox, and GDrive to sync files across the "machines", etc., it was fine for a time.
Then we wound up scoring some high[er] end dedicated laptops (i7, 32GB, 8GB GTX-1080) as we got way deeper into the AR/VR work, I still had work with my primary company, in both Windows tech stacks and iOS code work, I wound up migrating anything windows to that new machine, abandoning Bootcamp. So now at least I could have both instances concurrent, but separate machines meant a lot of gyrations, changes in some UI/UX, and during this time I was actually traveling (normally I work from the World HQ, aka, home
), so then it became a whole thing with managing code/content/etc., resources. Also, I dislike working directly on a notebook, so both these machines needed external displays, input devices, a switch sort of worked, but I needed them at the same time, so my desk was a nightmare.
Ugh.
I wound up stepping away from that AR/VR work, my other contracts got massive, focused on those, sold that machine, back to Bootcamp. Wound up needing to swap OSs a little too much, had workflows things like an API running in one, but a mobile client in the other, and I really prefer MacOS as my primary computing platform, so I thought, I want to try running in a VM again, and there was a good bit more computing power available in the Mac line (~3rd quarter '19), and the wife's MBP needed an update, so I moved my MBP to her (for her use, it's awesome). Since I also have no need for a traveling "development level" device, I went back to a Mini, an '18 I7 6-core, 32GB, it's running 2 QHD Dell displays, it's just fantastic.
I migrated my old Bootcamp to a VM, and under this new machine, with plenty of power, and the latest Parallels, it works fantastic. Now I can easily cross platform develop, I have most tools on native MacOS, plus all my personal resources (like Photos), removed the need for syncing source across the machines. I'm even doing things like running Oracle in a Docker container in the Mac, for use by the Windows VM.
So in my experience, if MacOS is your primary OS, and you've got some tasks in Windows, and you've got plenty of machine resources (cycles, RAM, etc.), using a VM is a terrific solution. I run my couple of Windows dev tools using Coherence, so they're just "native-like" Windows windows in MacO - or -iIf I want to isolate the windows work, I can go full screen on a single display (while retaining file and services sharing, etc.)
Right now, without this machine breathing too hard, I'm running in MacOS: XCode, ST 2. Chrome, Outlook, Postman, Sketch, Messages, a number of misc smaller utilities, and a VM that's running Visual Studio, SQL Server, and IIS (as you may know, some of those have a substantial footprint)
Everything works together, KB,Mouse map perfectly, I can C&P across OSs, using the IIS instance as a backend to the XCode work (and I can pretty much open other apps OTF as needed, without any slowdown or need to shutdown/restart, etc.)
Oh, this machine, mostly running this workspace, stays up 24/7, in fact, my last uptime before a semi-recent shutdown was 75 days ...