Am 19.01.2015 um 09:00 schrieb Matt Rushworth:

Hi there, new to the forums, and, to be honest, I'm not entirely sure what vibe.d actually is.

I started off thinking it was some sort of web server with templates to make web pages in a programmatic way. Then I found out, by reading the about page, that it "..(does) asynchronous I/O". Yet there's nowhere that I've found that actually explains what vibe.d is. It feels like you're either in the know or not.

Would someone mind taking the time to explain, in a straight forward way, what it is, when I should use it, and WHY I should use it?

Thanks, I'd really appreciate it.

The framework is currently in a process of slightly changing its scope.
Everything started out as a clean abstraction of doing
asynchronous/event based I/O. On top of that, the library provided some
medium level primitives, such as a basic HTTP protocol implementation,
so that useful application could be built with it without having to
reimplement everything.

Today it looks like we may eventually get to the point where the I/O
abstraction will be integrated into the D standard library so I decided
to include a high-level web application framework to fill that potential
gap.

But all in all, it's a pretty generic toolkit that performs everything
in an asynchronous, event based fashion, leading to highly scalable
applications. Everything is organized in a modular way, so that you are
always free to use only the parts that are necessary for a particular
application (currently the library is build monolithically, but is
currently being prepared to be split up into a number of smaller binaries).

In any case this is all indeed a bit non-obvious when looking just at
the front page or at the features page. I'll open a ticket to remember
adding a summary on the front page.