トーク

LT
型安全なDrag and Dropの設計を考える
DAY1 / 17:10 〜 17:40 (レバレジーズトラック)
Drag and Drop (DnD) は、UIにおいて直感的な操作を実現できる便利な仕組みです。しかし、その実装の自由度の高さゆえに、型安全性の確保が課題となることも少なくありません。例えば、複数の異なる種類の要素をドラッグ可能にしたい場合や、特定の要素にのみドロップを許可したい場合、あるいはドラッグ可能な要素がDOMツリー内で深くネストしているような複雑なケースでは、意図しない要素のドラッグや誤った場所へのドロップといったランタイムエラーのリスクが増大します。
本発表では、TypeScriptの強力な型システムを駆使し、このような複雑なDnDの制約を静的に表現する方法を深く掘り下げて解説します。「どのような種類の要素がドラッグ可能なのか?」、そして「それらはUIのどの領域にドロップできるのか?」といったルールを、interfaceやGenericsを用いて明確に定義し、型レベルで安全性を保証するDnD設計の手法をご紹介します。
型の力を最大限に活かし、複雑な要件にも柔軟に対応できる、拡張性のあるDnD設計を一緒に探求していきましょう!

yudppp
株式会社HRBrain / 執行役員CTO
2018年にHRBrainに10人目の社員、3人目のエンジニアとして入社。 TypeScriptは2018年から書いています。
https://blog.yudppp.com/