vibe.d beta banner
get vibe.d
0.8.3

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

vibe.d

fork vibe.d on github

Productive

  • 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…

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
  • Multi-threading and integrated load-balancing*
  • Read more…

Simple

  • 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

Thu, 08 Mar 2018

vibe.d 0.8.3 release

Tue, 12 Dec 2017

vibe.d 0.8.2 release

Tue, 29 Aug 2017

vibe.d 0.8.1 release

Mon, 10 Jul 2017

vibe.d 0.8.0 release

Example of a simple HTTP server

import vibe.vibe;

void main()
{
	listenHTTP(":8080", &handleRequest);
	runApplication();
}

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

Example of an echo server

import vibe.vibe;

void main()
{
	listenTCP(7, (conn) { conn.write(conn); });
	runApplication();
}

* Still work-in-progress, implemented by the vibedist project.