Первый опыт внедрения WPF в сложной системе (С++ и COM)


The Presentation inside:

Slide 0

Первый опыт внедрения WPF в сложной системе (С++ и COM) Михаил Павлов Transas


Slide 1

Цели доклада рассказать о проблемах на начальных этапах внедрения WPF сформулировать рекомендации повышения эффективности разработки


Slide 2

Карты Гео-текстуры Карты высот Планы Карты глубин 3D модели Сцена Задачи продукта Вход Выход Редактор сцены


Slide 3

Сцена


Slide 4

Основные части Хранилище данных Модули импорта Логика Модуль экспорта


Slide 5

Технологии Логика – С++, COM UI – MFC, ATL, WTL, C#(WF) Движок редактора – С++, MFC, GDI+ Модули импорта-экспорта – C++, COM Визуализация – С++, COM, OpenGL Прочие модули – С++, COM, ATL, WTL, C#


Slide 6

Варианты развития С++ .Net WPF Windows Forms Прошлое Будущее


Slide 7

Проблемы Устаревший дизайн Падение скорости разработки UI Ограничения в расширяемости Отставание в технологиях


Slide 8

Ожидаемые плюсы Переход на новейшие технологии Программист пишет только код Дизайном занимаются дизайнеры Улучшение внешнего вида Сложные проблемно-ориентированные компонент UI Ускорение разработки UI Использование скинов


Slide 9

Необходимое условие: поддержка использования .Net на уровне ядра системы


Slide 10

Причины отказа от COM Много сопутствующего кода Проблемы синхронизации Interop оберток Потери быстродействия Не везде поиск ошибок во время компиляции


Slide 11

Тестирование на изолированной утилите


Slide 12

Первые впечатления Разработка интерфейса в стиле WF на WPF менее эффективна, чем на WF Легкости модификации системы при внесении изменений, нет и в помине Дизайн окон вручную съедает неоправданно много времени


Slide 13

Коррекция разработки Использовать Binding совместно с моделью Data-Model-View Expression Blend в качестве редактора дизайна UI Разделить обязанности между дизайнером и программистом Увеличить количество разработчиков UI до двух человек.


Slide 14

Результат коррекции: катастрофическое падение скорости разработки :[]


Slide 15

Причины падения скорости Требуется переосмысление архитектуры Множество корректур дизайна Замусоренный код от дизайнера Формирование библиотеки стилей Формирование базового функционала Переход на векторную графику Тонкости использования WPF Недоработки библиотеке WPF


Slide 16

Текущее положение вещей


Slide 17

Практический опыт => экономия времени


Slide 18

Бюрократия => упорядочивание внесения изменений


Slide 19

Баланс обязанностей => экономия времени


Slide 20

Сформулированы пожелания заказчика => снижение потока изменений


Slide 21

Баланс между переделкой и повторным использованием графических ресурсов => экономия времени


Slide 22

Мы перешли на WPF :)


Slide 23

Оставшиеся проблемы Наследие прошлого Правильная интеграция 3D визуализации Перевод всего приложения на WPF


Slide 24

Ожидания и реальность


Slide 25

Переход на новейшие технологии не до конца


Slide 26

Разделение обязанностей дизайнера и программиста – в небольшом объеме


Slide 27

Улучшение внешнего вида – однозначно да


Slide 28

Повышение функциональности интерфейса – да, но с оговорками


Slide 29

Скины – автоматически (by design)


Slide 30

Итоговая скорость разработки WTL < MFC < WPF< WF Без учета затрат на дизайн: для окон средней сложности WPF= WF для окон большой сложности WF < WPF


Slide 31

Рекомендации


Slide 32

Внедрять WPF должны программисты .Net (квалификация)


Slide 33

Внедрять должны минимум два программиста (совещательность)


Slide 34

Для одного из программистов желателен опыт работы с WPF (центр кристаллизации знаний)


Slide 35

Для дизайнера желателен опыт верстки HTML (подобие)


Slide 36

Структурируйте разработку UI с целью упорядочивания внесения изменений и понимания остальными происходящего (экономия времени и нервов)


Slide 37

Начинайте разработку с простой задачи с акцентом на библиотеку стилей (задел в ширину)


Slide 38

Продолжайте разработку с самой сложной, но локальной задачи (задел архитектуры)


Slide 39

Помните – архитектура главное, остальное по нескольку раз меняется (акцент)


Slide 40

Спасибо за внимание Михаил Павлов Transas [email protected]


×

HTML:





Ссылка: