3 options
D web development : leverage the power of D and the vibe.d framework to develop web applications that are incredibly fast / Kai Nacke ; [foreword by Andrei Alexandrescu, co-developer of the D programming language].
- Format:
- Book
- Author/Creator:
- Nacke, Kai, author.
- Series:
- Community experience distilled.
- Community experience distilled
- Language:
- English
- Subjects (All):
- D (Computer program language).
- Web applications.
- Physical Description:
- 1 online resource (196 p.)
- Place of Publication:
- Birmingham : Packt Publishing, 2016.
- Biography/History:
- Nacke Kai: Kai Nacke is a professional IT architect currently residing in Toronto, Canada. He holds a diploma in computer science from the Technical University of Dortmund, Germany. and his diploma thesis on universal hash functions was recognized as the best of the semester. With over 20 years of experience in the IT industry, Kai has extensive expertise in the development and architecture of business and enterprise applications. In his current role, he evolves an LLVM/clang-based compiler. For several years, Kai served as the maintainer of LDC, the LLVM-based D compiler. He is the author of D Web Development and Learn LLVM 12, both published by Packt. In the past, he was a speaker in the LLVM developer room at the Free and Open Source Software Developers' European Meeting (FOSDEM).
- Summary:
- Leverage the power of D and the vibe.d framework to develop web applications that are incredibly fastAbout This Book* 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 backendsWho This Book Is ForWhether you are new to the world of D, or already have developed applications in D, or if you want to leverage the power of D for web development, then this book is ideal for you. Basic knowledge of core web technologies like HTML 5 is helpful but not required. This book explains the difficult details to speed your web development.What You Will Learn* 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.dIn DetailD 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.Style and approachA tutorial-style guide to develop web applications with D and the vibe.d framework. Each topic is explained in detail and illustrated with source code, providing you with hands-on assistance for your application.
- Contents:
- Cover; Copyright; Credits; Foreword; About the Author; About the Reviewers; www.PacktPub.com; Table of Contents; Preface; Chapter 1: Getting Started with Your First Web Application; Installing the D compiler and the DUB package manager; Ubuntu and Debian; Fedora; OS X; Windows; Building from source; Verifying your environment; Creating your first web application; Using DUB to set up the project structure; Creating your first template; Summary; Chapter 2: Using Templates for Your Web Pages; Benefits of using templates; Creating your first template; Turning the HTML page into a Diet template
- Adding inheritanceUsing includes; Integrating other languages with blocks and filters; Solving common tasks; Configuring the document type; Comments in a template; More about tags; Localizing your website; Adding D code to your template; Summary; Chapter 3: Get Interactive - Forms and Flow Control; Introducing the note application; Creating a template with a simple form; A closer look at route matching; Serving static files; Storing session data; Authenticating the user; Using basic authentication; Using digest authentication; Form-based authentication; Enabling TLS/SSL with your application
- Displaying an error pageUploading files; Summary; Chapter 4: Easy Forms with the Web Framework; Taking advantage of unique D features; Converting the note application; Naming the handler functions; Passing values of form fields; Creating sessions and session variables; Putting everything together; Validating user input; Displaying error messages with @errorDisplay; Refining the validation; Adding authentication; Localizing the web content; Summary; Chapter 5: Accessing a Database; Choosing the right database technology; Relational databases; A key-value store; Document databases
- Making a choiceUsing the Redis key-value store; Installing Redis; Accessing Redis from the note application; Using the MongoDB document database; Installing MongoDB; Persisting data with MongoDB; Using the MySQL relational database; Installing MySQL; Using MySQL with vibe.d; Summary; Chapter 6: Using the REST Interface; Defining the principles of the World Wide Web; Serializing D to JSON and back; Creating and using a REST service; Providing a service; Using a service; Tailoring the generated REST API; Changing the generated path; Passing parameters; Accessing CouchDB; Installing CouchDB
- Testing the REST interfaceImplementing the NoteStore service; Summary; Chapter 7: The vibe.d Internals; The programming model of vibe.d; What is a fiber?; Benefits of asynchronous I/O; Combining threads, fibers, and asynchronous I/O; Coding your own main function; Performing background work; Running a fiber-based task; Using a thread; Porting an existing driver; An alternative solution for the existing drivers; Summary; Chapter 8: Using vibe.d with a GUI Client; The GUI event loop and vibe.d; Creating a Win32 GUI application; Creating an X11 GUI application
- Integrating with other GUI toolkits
- Notes:
- Includes index.
- Description based on online resource; title from PDF title page (ebrary, viewed July 11, 2016).
- ISBN:
- 9781785280108
- 1785280104
The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.