Written for developers who need to create user-facing DSLs, Business-Friendly DSLs unlocks clear and practical methods to create DSLs with easy-to-use interfaces. Domain-specific languages are custom text or graphical interfaces that allow domain experts to create and modify their own software systems. With a syntax that's clear and familiar to the non-technical user, DSLs are precise enough to generate working software that would normally require traditional coding. Written for developers who need to create user-facing DSLs, Building User-Friendly DSLs unlocks clear and practical methods to create DSLs with easy-to-use interfaces. By working through a detailed example of a car rental company, you'll see how creating a custom DSL can get rid of time-consuming and bureaucratic code adjustments, freeing you up to work on features whilst your clients and colleagues write their software themselves
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
About the technology
Imagine if your non-technical clients could safely produce software without the need for anyone to manually write code. Domain-specific languages are purpose-built programming interfaces that make that possible--no programming experience required. This frees software developers from the time-consuming translation of a client's functional and domain-specific specifications, replacing complex code for modern and intuitive UIs.
About the book
Building User-Friendly DSLs shows you how to design and build modern DSLs for business users. Drawing on years of industry experience, author Meinte Boersma lays out an iterative process for creating languages accessible to domain experts such as operations specialists, data analysts, and financial experts. You'll start with an overview of software language engineering before diving into the unique projectional editing paradigm that makes it easy to produce DSLs for business. There are no special tools or proprietary software required--you'll work with an open source JavaScript stack that ensures the techniques you learn are easy to port between projects.
What's inside
- Build a complete Domain IDE for a car rental company
- Implement a projectional editor for your DSL
- Implement content assist, type system, expressions, and versioning language aspects
- Evaluate business rules
- Work with Abstract Syntax Trees
- Reduce notated DSL content in concrete syntax into abstract syntax
About the author Meinte Boersma has been a practitioner of model-driven software development and software language engineering since 2007. He has given workshops on DSL, participated in organizing the Language Workbench Challenge, and has spoken at conferences on DSLs.
Industry Reviews
"A great alternative to DSL implementations that not many resources out there cover."AdhirRamjiawan
"This is anice practical exploration of Domain Specific Languages using JavaScript." GeorgeThomas
"The manuscript is excellent. The content is great, the illustrations are very well done. The author has taken a very pedagogical approach to transfer practical nd rapidly exploitable knowledge in a short period of time." Alain Lompo
"AMUST-HAVE book on the topic!" Karthikeyarajan Rajendran
"DSL is always considered niche area and difficult to do. This book make it easy foryou to understand with easy to understand examples. If you ever wanted to learn but never tried you now have a good reason to do so!" Kumar Unnikrishnan
"Great external DSL reference. With this book you will have all you need to build your external DSL!" Julien Pohie
"An interesting concept of mixing DSL design with high-level software design." TobiasKaatz
"This book is really interesting for the intended user. Easy to grasp, understand, followalong and try out the code in small incremental steps." Satej Kumar Sahu
"It's one thing to use a DSL, it's another to design and implement one. This book narrows the gap for anyone interested." Burk Hufnagel