vibe.d beta banner
get vibe.d
0.10.0

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

Mon, 19 Feb 2024

vibe.d 0.10.0 release

Fri, 16 Feb 2024

vibe.d 0.9.8 release

Tue, 29 Aug 2023

vibe.d 0.9.7 release

Tue, 21 Mar 2023

vibe.d 0.9.6 release

Wed, 13 Jul 2022

vibe.d 0.9.5 release

Thu, 30 Sep 2021

vibe.d 0.9.4 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.