Web development has seen a huge innovative jump in the last years. Frameworks such as Ruby on Rails or node.js and several other frameworks have changed the landscape of the CGI and PHP based web considerably.
New programming paradigms have emerged to make web apps managable to facilitate a clean application design. Node.js was the first to succeed in bringing the performance of asynchronous I/O to the masses.
With vibe.d we are trying to bring the highest performance possible together with a programming interface that is as clean as possible. At the same time the choice of D as the programming language leads to code that provides much less potential for errors thanks to it's comprehensive static type system. Still, D's clean syntax gives you the same lean programming experience as in dynamically typed scripting languages.
The combination is a very fast and practical system that provides a solid basis for many typical web applications and services, as well as non-web services. It still has some way to go to reach the comprehensiveness of some of the existing systems, though.
Who makes vibe.d?
We are a small group of people that was tired of slow, bloated or inconvenient frameworks or languages for web application development. Node.js was a promising change with its speed and the rich set of extension libraries. However, the complete reliance on callbacks makes node.js code quite involved to read and write. And worse, error handling is far too easy to ignore. After realizing that fibers would be the ideal tool to keep the performance and memory benefits of evented I/O while getting back the simplicity of blocking I/O, the idea of vibe.d was born.
vibe.d is licensed under the terms of the MIT public license:
Copyright (c) 2012 rejectedsoftware e.K. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.