fork vibe.d on github

Asynchronous I/O that doesn’t get in your way, written in D


  • High-level declarative REST and web application framework
  • Full HTTP(S) stack with client, server and proxy implementations
  • Shipped with native database drivers for MongoDB and Redis
  • Complete concurrency toolkit and support for low level I/O operations
  • Read more…


  • Asynchronous I/O for maximum speed and minimum memory usage
  • Compile-time "Diet" templates for unparalleled dynamic page speed
  • Compiled to native machine code
  • Multi-threading and integrated load-balancing*
  • Read more…


  • Fiber based blocking programming model for concise and intuitive development
  • Compact API with sensible default choices
  • Full support for exception based error handling
  • Simple access to third-party extension libraries using the DUB package system
  • Read more…

Latest news

Sun, 20 Sep 2015

vibe.d 0.7.25 release

Mon, 10 Aug 2015

vibe.d 0.7.24 release

Wed, 25 Mar 2015

vibe.d 0.7.23 release

Mon, 12 Jan 2015

vibe.d 0.7.22 release

Tue, 18 Nov 2014

vibe.d 0.7.21 release

Example of a simple HTTP server

import vibe.d;

shared static this()
	auto settings = new HTTPServerSettings;
	settings.port = 8080;

	listenHTTP(settings, &handleRequest);

void handleRequest(HTTPServerRequest req,
                   HTTPServerResponse res)
	if (req.path == "/")
		res.writeBody("Hello, World!", "text/plain");

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.