More Information
  • Create amazingly fast web applications with D
  • Use Diet templates to easily create a web user interface
  • Utilize the web framework for interactive applications with input validation and internationalization
  • Access a database to provide persistent storage for your application
  • Extend your application with a REST interface and access other applications via REST
  • Understand vibe.d’s fiber-based approach to asynchronous I/O and use it for integration of existing components
  • Create GUI applications with vibe.d

D is a programming language with C-like syntax and static typing. The vibe.d framework builds on powerful D concepts like template meta-programming and compile-time function execution to provide an easy-to-use environment for web applications. The combination of a feature-rich web programming framework with a language compiling to native code solves two common issues in web development today: it accelerates your development and it results in fast, native web applications. Learning the vibe.d framework before you start your application will help you to choose the right features to reach your goal.

This book guides you through all aspects of web development with D and the vibe.d framework.

Covering the popular operating systems today, this guide starts with the setup of your development system. From the first Hello World-style application you will move on to building static web pages with templates. The concise treatment of web forms will give you all the details about form handling and web security. Using the abstractions of the web framework you will learn how to easily validate user input. Next, you will add database access to your application, providing persistent storage for your data. Building on this foundation, you will expose your component and integrate other components via REST. Learning about the internals of vibe.d you will be able to use low-level techniques such as raw TCP access. The vibe.d concepts can also be used for GUI clients, which is the next topic that you will learn. vibe.d is supported by an active community, which adds new functionality. This comprehensive guide concludes with an overview of the most useful vibe.d extensions and where to find them. It also shows you how to integrate these extensions in your application.

The concepts are always illustrated with source code, giving you an insight into how to apply them in your application.

  • Utilize the elegant vibe.d framework to build web applications easily and REST backends with the D programming language
  • Learn about all components of vibe.d to enhance your web development with D
  • A hands-on guide to the vibe.d framework; from static web pages to template-based, interactive and localized web applications with database access and REST backends
Page Count 196
Course Length 5 hours 52 minutes
ISBN 9781785288890
Date Of Publication 30 Jan 2016


Kai Nacke

Kai Nacke is a professional IT architect living in Düsseldorf, Germany. He holds a diploma in computer science from the University of Dortmund. His diploma thesis about universal hash functions was recognized as the best of the semester. He has been with IBM for more than 15 years, and has great experience in the development and architecture of business and enterprise applications.

Fascinated by the first home computer, he learned to program a VIC-20 in BASIC. Later, he turned to Turbo PASCAL and Small C on CP/M. Experimenting with the source of Small C created his interest in compiler technology. Many computers, operating systems, and languages followed these first steps.

Around 2005, he became interested in the D programming language and created the first fun applications in D. Missing a 64-bit D compiler for Windows, he started to contribute to the LLVM compiler framework and LDC, the LLVM-based D compiler. Soon, he became committer of both projects and is now the current maintainer of LDC.

He is also a speaker at the Free and Open Source Software Developers' European Meeting (FOSDEM) and was one of the reviewers of D Cookbook, Packt Publishing.