Ranked in these QuestionsQuestion Ranking
Pro Good user experience
Output is displayed in the quick fix window, errors are matched with error format. After a job is finished, it can ring a bell to notify you while you're focusing on editing.
Pro Fully asynchronous
Command is done in the background, no need to wait for the entire process to finish. You can explore the error output immediately, or keep working in vim while executing.
Pro Easy to use
Just start your background command by :AsyncRun (just like old "!" cmd). Easy to distribute, just a single self-contained asyncrun.vim source file.