Well, in theory you can run as many VMs as you desire, but of course each of them is limited by your pc in terms of processing capabilities. The performance of you coding VM should depend on your workflow, but why don't you just go ahead and see for yourself?
Well... I managed to run some old windows VMs (2000 and 3.1) on my old POS gateway laptop from 2012 that's rocking nothing more than a b820 and 3gb of ram. So it's certainly doable... idk how "well" it would work but it can function provided it's set up properly.
docker is containerization (like jails). for your purposes, you need to know that they are "vm-like" — you can start up your container image, and run a linux box inside it. share folders with your project and run it inside the container.
what sort of coding?
sorry, missed this. web development? i think you're approaching this backwards. the point of having a vm and/or container for devleopment is not so you can have a separate desktop os to work on. it's so you don't work on your desktop os.
spin up your container, which will be a headless linux install with apache (and whatever else you need). your container/vm is a server for you to run and test your code.
write your code on your host os, using whatever editors you like. set up the container/vm with a shared folder so your project automatically exists on the container/vm also.
test (for example, if it's a web app) by opening whatever browser you like on your host os. You request the app over http, just the same as if the container/vm were any other server on the internet.
Docker revolves around containers rather than VMs. It's more streamlined but also has some limitations like using the same kernel as the host OS. So you can't run Windows in docker as an example but you can set up LAMP in a docker and keep it separate from the rest of your system.
But to try and answer your question it would be pushing it on a MBA although it depends on what goes on in the VMs as well. Is the CPU load 0 or 50 %? I'd also skip Fedora and try something more lightweight unless your intention is to do away with Gnome and run something less demanding.
What's the RAM? 4 or 8 GB? You obviously also need RAM for MacOS...
I'm a sysadmin, the majority of the servers I administer are Linux. The wifi reliability of my Linux laptop is unacceptable. I need it to just work at this point.
MacOS ticks all my must haves. Realiable wifi, bash, and my VPN client works on it. I need VMs to run Linux since Linux bash doesn't have the same syntax as MAC bash. Therefore when writing scripts I'd like a Linux VM environment to do this in.
Basically I can VPN into the network open BASH - ssh into the servers (now I have a Linux terminal). When writing bash scripts - I'd like a Linux environment to do this in.
In addition, I have a fluid overall role because I can program in a few languages. I want to keep my code off my Mac and on my Linux machine. Essentially the MacOS would just be a host operating system to admin the servers and launch Linux VMs for scripting and programming purposes.
Hopefully that's is helpful to the over idea here.
PS I'm not going to use winderz for this - no putty.
Thanks for the suggestion, but for this one I'm looking for an "out of the box" solution. Mac does this.
No dis to Linux, you'd see from my post that's what I use and love using it.
It's pretty simple what I'm doing. CLI Linux server admin. I use reallllllly simple tools - bash, vim and GNU tools, perl... all free stuff on Linux. I'm not really stoked about the idea of buying a Mac, at all, to be my host to do this.
However at this point I just want a reliable desktop OS with wifi. No dis to Linux. Super awesome OS for work stations and servers. The wifi thing on laptops is kiiiiiiiiiilling me.
Therefore, since these things are way overpriced - I just want to buy the right overpriced POS, drink heavily for a night and try to forget how much it cost.
Literally, I'm not a Mac fanboy and not stoked, it's just a necessity.
My macbook air can handle 1-2 vms if you have no use for the host OS. Mac OSX is really light on ram. My macbook with hover around 500mb-1gb with no programs open.
Why do you need a linux OS? macbooks can handle coding just fine. if you need linux tools then you could create something like a chroot env or just dual boot linux. Another way to cade is using a android phone and running something like linux deploy on it to get a linux vm that you can access anywhere you want