Skip to main content
Books, videos, and music - all free from your public library!
LoginSign Up

Footer

Hoopla logo, Go to homepage
  • For Patrons
  • For Libraries (opens in new window)
  • For Vendors (opens in new window)
  • Facebook (opens in new window)
  • X (opens in new window)
  • Instagram (opens in new window)
  • YouTube (opens in new window)
  • TikTok (opens in new window)
  • LinkedIn (opens in new window)

Our Company

  • Our Story
  • Get Hoopla for your Library (opens in new window)
  • Get your content on hoopla (opens in new window)
  • Join our team (opens in new window)
  • Accessibility Statement

Our Content

  • Audiobooks
  • Ebooks
  • Movies
  • Television
  • Comics
  • BingePasses
  • Music
  • The Loop Blog

Help

  • Help Center
  • Submit Feedback
  • Facebook (opens in new window)
  • X (opens in new window)
  • Instagram (opens in new window)
  • YouTube (opens in new window)
  • TikTok (opens in new window)
  • LinkedIn (opens in new window)
  • Download on the App Store (opens in new window)
  • Get it on Google Play (opens in new window)
  • Available at Amazon Appstore (opens in new window)
© 2026 Midwest Tape, LLC. All rights reserved. Privacy Policy | Terms of Use
  • Hoopla logo
  • Browse
  • My Hoopla
  • Log In
  1. Navigate Home
  2. Ebooks
  3. Building User-Friendly Dsls

EBOOK

Building User-Friendly Dsls

Meinte Boersma
(0)
sign up
Pages
504
Year
2024
Language
English
Publisher
Manning

About

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.



Inside Building User-Friendly DSLs you'll learn how to:



• Build a complete Domain IDE for a car rental company

• Implement a projectional editor for your DSL

• Implement content assist, type systems, expressions, and versioning language aspects

• Evaluate business rules

• Work with Abstract Syntax Trees

• Reduce notated DSL content in concrete syntax into abstract syntax



Building User-Friendly DSLs takes 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 technology



Here'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 book



Building User-Friendly DSLs teaches 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 inside



• Implement a projectional editor for your DSL

• Work with Abstract Syntax Trees

• Evaluate business rules



About the reader



For developers with JavaScript and web development experience.



About the author



Meinte Boersma is a senior developer and an evangelist of model-driven software development and DSLs.



Table of Contents



1 What is a domain-specific language?

2 Representing DSL content as structured data

3 Working with ASTs in code

4 Projecting the AST

5 Editing values in the projection

6 Editing objects in the projection

7 Implementing persistence and transportation of ASTs

8 Generating code from the AST

9 Preventing things from blowing up

10 Managing change

11 Implementing expressions: Binary operations

12 Implementing expressions: Order of operations

13 Implementing a type system

14 Implementing business rules

15 Some topics we didn't cover

Related Subjects

  • General
  • Software Development & Engineering
  • Computers
  • Adult Nonfiction
  • JavaScript
  • Languages
  • Web Programming
  • Internet

Artists

Meinte BoersmaAuthor