Building User-Friendly DSLsEnglish | 2024 | ISBN: 1617296473 | 506 pages | True PDF | 20.07 MB
Craft domain-specific languages that empower experts to create software themselves.Domain-specific languages put business experts at the heart of software development. These purpose-built tools let your clients write down their business knowledge and have it automatically translated into working software-no dev time required. They seamlessly bridge the knowledge gap between programmers and subject experts, enabling better communication and freeing you from time-consuming code adjustments.InsideBuilding User-Friendly DSLsyou'll learn how to:Build a complete Domain IDE for a car rental companyImplement a projectional editor for your DSLImplement content assist, type systems, expressions, and versioning language aspectsEvaluate business rulesWork with Abstract Syntax TreesReduce notated DSL content in concrete syntax into abstract syntaxBuilding User-Friendly DSLstakes you on a carefully-planned journey through everything you need to create your own DSLs. It focuses on building DSLs that are easy for busy business experts to learn and master. By working through a detailed example of a car rental company, you'll see how to create a custom DSL with a modern and intuitive UI that can replace tedious coding activities.About the technologyHere's the central problem of software development: business users know what they need their apps to do, but they don't know how to write the code themselves. As a developer, this means you spend a lot of time learning the same domain-specific details your user already knows. Now there's a way to bridge this gap! You can create a Domain-Specific Language (DSL) that empowers non-technical business users to create and customize their own applications without writing any code.About the bookBuilding User-Friendly DSLsteaches you how to create a complete domain-specific language that looks and works like a web application. These easy-to-use DSLs put the power to create custom software into the hands of business domain experts. As you go, you'll cover all the essentials, from establishing structure and syntax of your DSL to implementing a user-friendly interface.What's insideImplement a projectional editor for your DSLWork with Abstract Syntax TreesEvaluate business rulesAbout the readerFor developers with jаvascript and web development experience.About the authorMeinte Boersmais a senior developer and an evangelist of model-driven software development and DSLs.Table of Contents1 What is a domain-specific language?2 Representing DSL content as structured data3 Working with ASTs in code4 Projecting the AST5 Editing values in the projection6 Editing objects in the projection7 Implementing persistence and transportation of ASTs8 Generating code from the AST9 Preventing things from blowing up10 Managing change11 Implementing expressions: Binary operations12 Implementing expressions: Order of operations13 Implementing a type system14 Implementing business rules15 Some topics we didn't cover