Book Image

D Web Development

By : Kai Nacke
Book Image

D Web Development

By: Kai Nacke

Overview of this book

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.
Table of Contents (17 chapters)
D Web Development
About the Author
About the Reviewers

About the Reviewers

Orfeo Da Vià is an Italian software developer and has been professionally developing software since 1994. Over the past four years, he has written a number of D software applications.

Orfeo is currently employed as a senior developer at Microline.

Outside the software world, Orfeo enjoys spending time with his two daughters, Raffaella and Adele, and his wife, Alessandra.

Stephan Dilly works as the head of front-end engineering at InnoGames in Germany. In the nine years of professional software development, he has worked in the games industry for Funatics and Ubisoft Blue Byte. He has also worked as a software consultant at Sopra Steria Consulting. The D programming language has been his language of choice for his spare-time projects since 2006. In 2014, Stephan was a speaker at the DConf in San Francisco, where he talked about a backend server architecture developed in D.

Paul Féraud is software engineer with passion for math, algorithms, and programming. He holds a diplôme d'Ingénieur in mechanical engineering from the École Centrale de Nantes in France and a master's degree in software engineering from Keio University in Japan.

Paul has worked for Amadeus, developing a business rule engine that is designed for very high throughput. He has also worked for Dassault Systèmes, developing the architecture backing SIMULIA's finite element simulation systems.

In parallel to this, Paul took great interest in the D programming language and began contributing to its development. He became a member of the core development team and has participated in the design and implementation of its standard library.

Paul now works for Google in Switzerland. He spends most of his time raising his beautiful daughter with his loving and supporting wife.

Kazuki Komatsu is a university student, currently majoring in wireless communication engineering. He started learning D programming language at the age of 16. He has been writing D grammar documents in Japanese and creating a variety of D libraries, such as linear algebra, compile-time meta programming, and Twitter client. Recently, Kazuki has been creating GUI toolkit, awebview, which is similar to GitHub's Electron; however, awebview is written with D and we can write GUI apps with D, HTML, CSS, and JavaScript.

Adam D. Ruppe is the author of D Cookbook, Packt Publishing and a long-time contributor to the D ecosystem.

Robert "burner" Schadek is a regular contributor to the standard D library, Phobos. His D journey started when he used D to create a Distributed Multithreaded Caching D compiler for his computer science master's thesis. He presented this work at DConf 2013. His commitment to Phobos can be seen all over the library. His biggest contribution to Phobos is the experimental logging framework. He is currently working on his PhD in computer science at the University of Oldenburg, Germany. There, he uses the high-performance computing (HPC) facility of the university and a lot of C++ to crunch the numbers on his original data-replication protocol. However, during his programming, he has learned one thing to be true—every untested function is buggy.