0
نام کتاب
Building User-Friendly DSLs

Meinte Boersma

Print Length500 Pages
PublisherManning
Edition1
LanguageEnglish
Year2025
ISBN9781617296475
809
A7269
انتخاب نوع چاپ:
جلد سخت
1,550,000ت
0
جلد نرم
1,420,000ت
0
طلق پاپکو و فنر
1,430,000ت
0
مجموع:
0تومان
کیفیت متن:اورجینال انتشارات
قطع:B5
رنگ صفحات:دارای متن و کادر رنگی
پشتیبانی در روزهای تعطیل!
ارسال به سراسر کشور

#DSL

توضیحات

🧩 زبان‌هایی بساز که متخصصان کسب‌وکار با آن‌ها نرم‌افزار خلق کنن


🚀 زبان‌های اختصاصی دامنه یا Domain-Specific Languageها (DSL)، متخصصان کسب‌وکار را در مرکز توسعه نرم‌افزار قرار میدن. این ابزارهای هدفمند به مشتریان امکان میدن دانش کسب‌وکارشون را ثبت کنن و اون را به‌صورت خودکار به نرم‌افزار قابل‌اجرا تبدیل کنن؛ بدون نیاز به صرف وقت توسعه‌دهنده. این زبان‌ها شکاف دانشی میان برنامه‌نویسان و متخصصان حوزه را پر میکنن، ارتباط را بهتر میکنن و زمان صرف‌شده برای تغییرات مکرر کد را کاهش میدن.


🎯 چیزهایی که یاد میگیری

ساخت یک محیط توسعه اختصاصی دامنه یا Domain IDE کامل برای یک شرکت اجاره خودرو.

پیاده‌سازی یک ویرایشگر Projectional برای DSL.

پیاده‌سازی قابلیت پیشنهاد و تکمیل محتوا، سیستم نوع، عبارت‌ها و جنبه‌های مربوط به نسخه‌بندی زبان.

ارزیابی قواعد کسب‌وکار.

کار با درخت‌های نحو انتزاعی یا Abstract Syntax Treeها (AST).

تبدیل محتوای DSL نوشته‌شده با نحو ملموس یا Concrete Syntax به نحو انتزاعی یا Abstract Syntax.


📘 توضیح کتاب

🛠️ کتاب Building User-Friendly DSLs در مسیری دقیق و برنامه‌ریزی‌شده، تمام مباحث لازم برای ساخت DSLهای اختصاصی را آموزش میده. تمرکز کتاب روی زبان‌هایی است که متخصصان پرمشغله کسب‌وکار بتونن به‌راحتی یاد بگیرن و بر اون‌ها مسلط بشن. با دنبال‌کردن یک مثال مفصل از شرکت اجاره خودرو، میبینی چطور میشه یک DSL سفارشی با رابط کاربری مدرن و قابل‌فهم ساخت که جایگزین فعالیت‌های خسته‌کننده کدنویسی بشه.


💡 درباره فناوری

🏢 یکی از مشکلات اصلی توسعه نرم‌افزار اینه که کاربران کسب‌وکار میدونن اپلیکیشن‌هاشون باید چه کاری انجام بدن، اما نمیدونن چطور کد اون را بنویسن. در نتیجه، توسعه‌دهنده زمان زیادی صرف یادگیری همان جزئیات تخصصی دامنه‌ای میکنه که کاربر از قبل میشناسه.

🔗 برای پرکردن این شکاف، میشه یک Domain-Specific Language ساخت که به کاربران غیرفنی کسب‌وکار امکان بده بدون نوشتن کد، اپلیکیشن‌های خودشون را ایجاد و سفارشی کنن.


📚 درباره کتاب

🖥️ Building User-Friendly DSLs آموزش میده چطور یک زبان اختصاصی دامنه کامل بسازی که ظاهر و عملکردش شبیه یک اپلیکیشن وب باشه. این DSLهای ساده و کاربردی، قدرت ساخت نرم‌افزار سفارشی را در اختیار متخصصان حوزه کسب‌وکار قرار میدن.

⚙️ در طول مسیر، تمام مباحث ضروری را پوشش میدی؛ از تعیین ساختار و نحو DSL گرفته تا پیاده‌سازی یک رابط کاربری کاربرپسند.


✨ مباحث اصلی

پیاده‌سازی یک ویرایشگر Projectional برای DSL.

کار با Abstract Syntax Treeها.

ارزیابی قواعد کسب‌وکار.


👤 این کتاب برای چه کسانیه؟

🎯 برای توسعه‌دهندگانی نوشته شده که در JavaScript و توسعه وب تجربه دارن.


📖 فهرست مطالب

فصل ۱. زبان اختصاصی دامنه چیست؟

فصل ۲. نمایش محتوای DSL به‌صورت داده‌های ساختاریافته

فصل ۳. کار با ASTها در کد

فصل ۴. نمایش AST به روش Projection

فصل ۵. ویرایش مقدارها در نمای Projection

فصل ۶. ویرایش اشیا در نمای Projection

فصل ۷. پیاده‌سازی ذخیره‌سازی پایدار و انتقال ASTها

فصل ۸. تولید کد از AST

فصل ۹. جلوگیری از به‌هم‌ریختن سیستم

فصل ۱۰. مدیریت تغییر

فصل ۱۱. پیاده‌سازی عبارت‌ها: عملیات دوتایی

فصل ۱۲. پیاده‌سازی عبارت‌ها: ترتیب انجام عملیات

فصل ۱۳. پیاده‌سازی سیستم نوع

فصل ۱۴. پیاده‌سازی قواعد کسب‌وکار

فصل ۱۵. موضوعاتی که پوشش ندادیم

پیوست A. راه‌اندازی محیط توسعه

پیوست B. پیاده‌سازی یک فرانت‌اند شفاف مبتنی بر برنامه‌نویسی تابعی واکنشی


📝 نقد و بررسی

💭 «یک رویکرد جایگزین عالی برای پیاده‌سازی DSLها که منابع چندانی به اون نمیپردازن.»

— آدهیر رام‌جیاوان


💭 «کاوشی عملی و جذاب در زبان‌های اختصاصی دامنه با استفاده از JavaScript.»

— جورج توماس


💭 «دست‌نوشته کتاب عالیه. محتوا بسیار خوبه و تصویرسازی‌ها به‌خوبی انجام شدن. نویسنده رویکردی بسیار آموزشی در پیش گرفته تا در زمانی کوتاه، دانشی عملی و قابل‌استفاده فوری منتقل کنه.»

— آلن لومپو


💭 «کتابی ضروری درباره این موضوع!»

— کارتیکیارجان راجندران


💭 «DSL همیشه حوزه‌ای تخصصی و دشوار در نظر گرفته میشه. این کتاب با مثال‌های قابل‌فهم، درک اون را آسون میکنه. اگر همیشه میخواستی یاد بگیری اما هیچ‌وقت امتحان نکردی، حالا دلیل خوبی برای شروع داری!»

— کومار اونیکریشنان


💭 «مرجعی عالی برای DSLهای خارجی. با این کتاب، تمام چیزهایی را که برای ساخت DSL خارجی اختصاصی لازم داری، در اختیار خواهی داشت!»

— ژولین پوهی


💭 «ایده‌ای جالب برای ترکیب طراحی DSL با طراحی سطح بالای نرم‌افزار.»

— توبیاس کاتس


💭 «این کتاب برای مخاطب هدفش واقعاً جذابه. درک مطالب، دنبال‌کردن مسیر و امتحان‌کردن کدها در قدم‌های کوچک و تدریجی آسونه.»

— ساتج کومار ساهو


💭 «استفاده از یک DSL یک چیزه و طراحی و پیاده‌سازی اون چیزی دیگه. این کتاب برای هر فرد علاقه‌مند، فاصله میان این دو را کمتر میکنه.»

— برک هافناگل


📕 متن پشت جلد

🏗️ کتاب Domain-Specific Languages Made Easy نشان میده چطور DSLهای مدرن را برای کاربران کسب‌وکار طراحی و پیاده‌سازی کنی. ماینته بورسما با تکیه بر سال‌ها تجربه در صنعت، فرایندی تکرارشونده برای ساخت زبان‌هایی ارائه میده که متخصصان دامنه، مثل متخصصان عملیات، تحلیلگران داده و کارشناسان مالی، بتونن به‌راحتی از اون‌ها استفاده کنن.

🧠 ابتدا مروری بر مهندسی زبان‌های نرم‌افزاری داری و سپس وارد شیوه متمایز Projectional Editing میشی؛ روشی که ساخت DSL برای کسب‌وکار را ساده میکنه.

🌐 هیچ ابزار ویژه یا نرم‌افزار اختصاصی لازم نیست؛ با یک مجموعه فناوری متن‌باز مبتنی بر JavaScript کار میکنی تا روش‌هایی که یاد میگیری، به‌راحتی میان پروژه‌های مختلف قابل‌انتقال باشن.

👤 درباره نویسنده

👨‍💻 ماینته بورسما از سال ۲۰۰۷ در حوزه توسعه نرم‌افزار مدل‌محور و مهندسی زبان‌های نرم‌افزاری فعالیت میکنه.

🎤 او کارگاه‌هایی درباره DSL برگزار کرده، در سازمان‌دهی Language Workbench Challenge مشارکت داشته و در کنفرانس‌ها درباره زبان‌های اختصاصی دامنه سخنرانی کرده است.


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.


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


Appendix A. Setting Up the Development Environment

Appendix B. Implementing a Transparent Functional Reactive Frontend


Review

“A great alternative to DSL implementations that not many resources out there cover.”

— Adhir Ramjiawan


“This is a nice practical exploration of Domain Specific Languages using JavaScript.”

— George Thomas


“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 and rapidly exploitable knowledge in a short period of time.”

— Alain Lompo


“A must-have book on the topic!”

— Karthikeyarajan Rajendran


“DSL is always considered a niche area and difficult to do. This book makes it easy for you 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.”

— Tobias Kaatz


“This book is really interesting for the intended user. Easy to grasp, understand, follow along 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


From the Back Cover

Domain-Specific Languages Made Easy 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 todomain experts such as operations specialists, data analysts, and financialexperts. 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.


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.

دیدگاه خود را بنویسید
نظرات کاربران (0 دیدگاه)
نظری وجود ندارد.
کتاب های مشابه
Software Development
783
Pragmatic Type-Level Design
1,059,000 تومان
Software Architecture
1,109
Software Architecture for Developers
924,000 تومان
Software Development
1,148
Learning Dapr
776,000 تومان
Software Development
1,097
Shape Up
675,000 تومان
Software Development
1,116
Developer Relations
970,000 تومان
Software Engineering
2,015
Database Internals
1,124,000 تومان
Software Development
1,110
Software Testing Strategies
1,140,000 تومان
Software Development
991
Low-Code Development with Appsmith
908,000 تومان
Design Patterns
1,335
Making Embedded Systems
1,255,000 تومان
Software Development
849
Software Project Management For Dummies
1,216,000 تومان
قیمت
منصفانه
ارسال به
سراسر کشور
تضمین
کیفیت
پشتیبانی در
روزهای تعطیل
خرید امن
و آسان
آرشیو بزرگ
کتاب‌های تخصصی
هـر روز با بهتــرین و جــدیــدتـرین
کتاب های روز دنیا با ما همراه باشید
آدرس
پشتیبانی
مدیریت
ساعات پاسخگویی
درباره اسکای بوک
دسترسی های سریع
  • راهنمای خرید
  • راهنمای ارسال
  • سوالات متداول
  • قوانین و مقررات
  • وبلاگ
  • درباره ما