'

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

Понравилась презентация – покажи это...





Слайд 0

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


Слайд 1

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


Слайд 2

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


Слайд 3

Сцена


Слайд 4

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


Слайд 5

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


Слайд 6

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


Слайд 7

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


Слайд 8

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


Слайд 9

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


Слайд 10

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


Слайд 11

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


Слайд 12

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


Слайд 13

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


Слайд 14

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


Слайд 15

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


Слайд 16

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


Слайд 17

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


Слайд 18

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


Слайд 19

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


Слайд 20

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


Слайд 21

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


Слайд 22

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


Слайд 23

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


Слайд 24

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


Слайд 25

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


Слайд 26

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


Слайд 27

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


Слайд 28

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


Слайд 29

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


Слайд 30

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


Слайд 31

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


Слайд 32

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


Слайд 33

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


Слайд 34

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


Слайд 35

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


Слайд 36

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


Слайд 37

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


Слайд 38

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


Слайд 39

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


Слайд 40

Спасибо за внимание Михаил Павлов Transas pavmb2001@mail.ru


×

HTML:





Ссылка: