Трансформируем автоформы в качественный интерфейс с помощью DSL (Иван Гаммель, SECR-2012)
Материал из 0x1.tv
Содержание
Аннотация
- Докладчик
- Иван Гаммель
В крупных проектах код модели предметной области содержит много метаинформации, например, об объектно-реляционном отображении (ORM), которую можно также использовать для построения интерфейса. Однако объективные сложности, связанные с реализацией генератора интерфейса на основе метамодели, сформировали мнение о том, что генерация кода пригодна в лучшем случае для прототипирования, но никак не для построения качественного интерфейса. В то же время реализация сложных интерфейсов традиционным способом — на основе отдельных компонентов из стандартной библиотеки или библиотек сторонних разработчиков — остаётся трудоёмкой и технически сложной задачей. Нам удалось обойти ограничения генерации интерфейсов форм и предоставить разработчику такую же гибкость, как и в традиционном подходе, благодаря следующим принципам:
- Вместо генерации кода интерфейса — построение его модели во время выполнения программы. Компоненты и события интерфейса являются отражением его модели.
- Метамодель — лишь отправная точка для построения интерфейса. К окончательному виду разработчик быстро приводит его с помощью предметно-ориентированного языка (DSL).
- Технологическая нейтральность — отсутствие зависимостей от сторонних библиотек и фреймворков, работа с внешними источниками метаданных через подключаемые модули.
Этот подход реализован в библиотеке CUSTIS Rich Forms, которая в настоящее время используется в нескольких промышленных проектах. В докладе будет показано на конкретных примерах, как выбранная архитектура позволяет решать задачу быстрого построения интерфейсов форм, снижая трудозатраты и уменьшая сложность прикладного кода.
Видео
Слайды
Примечания и отзывы
Plays:35 Comments:0