vibe.d
Asynchronous I/O that doesn’t get in your way, written in
D
Fast
-
Asynchronous I/O
for maximum speed and minimum memory usage
-
Compile-time "Diet" templates
for unparalleled dynamic page speed
- Compiled to
native machine code
- Integrated
load-balancing*
-
Read more…
Simple
-
Fiber based
blocking programming model for concise and intuitive development
-
Compact API
with sensible default choices
-
Zero-downtime changes*
allowing safe development on live-systems
-
Exception based
error handling
-
Read more…
Productive
- Full
web application framework
-
HTTPS/SSL
support
- Native database drivers for
MongoDB
and
Redis
-
Raw TCP and File handling
for building custom protocols
-
Read more…
Jump to…
Example of a simple HTTP server
import vibe.d;
void handleRequest(HTTPServerRequest req,
HTTPServerResponse res)
{
res.writeBody("Hello, World!", "text/plain");
}
shared static this()
{
auto settings = new HTTPServerSettings;
settings.port = 8080;
listenHTTP(settings, &handleRequest);
}
Example of an echo server
import vibe.d;
shared static this()
{
listenTCP(7, (conn) { conn.write(conn); });
}
* Still work-in-progress, implemented by the vibedist project.