There are others as well, but AFAIK these are the ones with active development happening. Please correct me if there are active ones I've forgotten.
All three support compiling your application as a Linux binary, meaning you can do most of the development and debugging using the tools you're used to, IDE with visual debuggers and the whole shebang.
Once you want to run in a separate VM you can still debug, but it becomes a tad bit harder. I know how to debug IncludeOS application when they are running under Qemu or KVM. Qemu can act as a gdb remote, you just need to get it working, which is a bit of pain.
And now you have the option of running it the way it is describes in the paper. I've never touched this so I don't have a feeling for how hard it is getting it to run.
Just use Linux or something similar and use the lower APIs.
E.g. don't mount a filesystem, use the block device directly in your app.