#206
インタラクション・アニメーション
#206どめいんとっかげんご
ドメイン特化言語 (DSL)
別名・表記:Domain Specific LanguageDSL
UIXHERO Definition
「専門用語で書けるプログラム」。その分野の人なら誰でも読める形式で書かれたコードや設定ファイル。
概要
システム開発において、開発者とビジネスサイドの「言葉の壁」を取り払うための手法の一つ。 DDD(ドメイン駆動設計)では、チーム全員が同じ言葉(ユビキタス言語)を使うことを重視するが、DSLはその言葉をそのままコードとして実行可能にすることで、認識のズレを極限まで減らす。
UXでの活用
- デザイン記述言語: デザインシステムにおいて、色やスペーシングを「Design Token」として定義し、JSONなどのDSLで管理することで、プラットフォーム間(Web, iOS, Android)でのデザインの一貫性を保つ。
- インタラクションの定義: 複雑な画面遷移やアニメーションを、プログラミング言語ではなく、直感的なDSLで記述できるツール(Protopieなど)を使うことで、デザイナーが直接挙動を制御できる。
💡 使いどころ
開発者以外のドメインエキスパート(金融の専門家、医療従事者、デザイナーなど)が、システムの振る舞いを定義したり検証したりする必要がある時。
⚠️ 注意点・誤用
新たにDSLを設計・実装するコストは高い。学習コストも発生する。既存のツールで代替できないか(スプレッドシートなど)を検討すべき。
具体例
- SQL(データベース操作に特化)
- CSS(スタイル定義に特化)
- HTML(文書構造に特化)
- Gherkin(テストシナリオ記述に特化)
出典・参考文献:
- Fowler, M. (2010). Domain-Specific Languages. Addison-Wesley Professional.
- Evans, E. (2003). Domain-Driven Design: Tackling Complexity in the Heart of Software. Addison-Wesley.
- Mernik, M., Heering, J., & Sloane, A. M. (2005).When and how to develop domain-specific languages. ACM Computing Surveys, 37(4), 316–344.
関連する解説記事
関連する記事詳細が見つかりませんでした。