Трансформируем автоформы в качественный интерфейс с помощью DSL (Иван Гаммель, SECR-2012) — различия между версиями
Материал из 0x1.tv
StasFomin (обсуждение | вклад) (→Примечания и отзывы) |
StasFomin (обсуждение | вклад) |
||
== Аннотация == ;Докладчик: [{{Speaker|Иван Гаммель]}} <blockquote> В крупных проектах код модели предметной области содержит много метаинформации, например, об объектно-реляционном отображении (ORM), которую можно также использовать для построения интерфейса. Однако объективные сложности, связанные с реализацией генератора интерфейса на основе метамодели, сформировали мнение о том, что генерация кода пригодна в лучшем случае для прототипирования, но никак не для построения качественного интерфейса. В то же время реализация сложных интерфейсов традиционным способом — на основе отдельных компонентов из стандартной библиотеки или библиотек сторонних разработчиков — остаётся трудоёмкой и технически сложной задачей. Нам удалось обойти ограничения генерации интерфейсов форм и предоставить разработчику такую же гибкость, как и в традиционном подходе, благодаря следующим принципам: == Примечания и отзывы == <!-- <blockquote>[©]</blockquote> --> * [http://www2012.secr.ru/talks/transforming-autoforms-to-quality-interface-with-dsl Страничка доклада на сайте конференции] <references/> [[Category:SECR-2012]] [[Category:ToPublish]] |
Версия 13:37, 21 марта 2013
Содержание
Аннотация
- Докладчик
- Иван Гаммель
В крупных проектах код модели предметной области содержит много метаинформации, например, об объектно-реляционном отображении (ORM), которую можно также использовать для построения интерфейса. Однако объективные сложности, связанные с реализацией генератора интерфейса на основе метамодели, сформировали мнение о том, что генерация кода пригодна в лучшем случае для прототипирования, но никак не для построения качественного интерфейса. В то же время реализация сложных интерфейсов традиционным способом — на основе отдельных компонентов из стандартной библиотеки или библиотек сторонних разработчиков — остаётся трудоёмкой и технически сложной задачей. Нам удалось обойти ограничения генерации интерфейсов форм и предоставить разработчику такую же гибкость, как и в традиционном подходе, благодаря следующим принципам:
- Вместо генерации кода интерфейса — построение его модели во время выполнения программы. Компоненты и события интерфейса являются отражением его модели.
- Метамодель — лишь отправная точка для построения интерфейса. К окончательному виду разработчик быстро приводит его с помощью предметно-ориентированного языка (DSL).
- Технологическая нейтральность — отсутствие зависимостей от сторонних библиотек и фреймворков, работа с внешними источниками метаданных через подключаемые модули.
Этот подход реализован в библиотеке CUSTIS Rich Forms, которая в настоящее время используется в нескольких промышленных проектах. В докладе будет показано на конкретных примерах, как выбранная архитектура позволяет решать задачу быстрого построения интерфейсов форм, снижая трудозатраты и уменьшая сложность прикладного кода.
Видео
Слайды
Примечания и отзывы