There are even now higher-level tools such as k3os and k3sup to further reduce the initial deployment pains.
MicroK8s prides with 'No APIs added or removed'. That's not that positive in my book. K3s on the other hand actively removes the alpha APIs to reduce the binary size and memory usage. Works great if you only use stable Kubernetes primitives.
I used Microk8s on a client project late last year and it was really painful, but I am sure it serves a particular set of users who are very much into the Snap/Canonical ecosystem.
In contrast, K3s is very light-weight and can be run in a container via the K3d project.
If folks want to work with K8s upstream or development patches against Kubernetes, they will probably find that KinD is much quicker and easier.
Minikube has also got a lot of love recently, and can run without having a dependency on Virtual Box too.