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

Презентация:



Advertisements
Похожие презентации
БЭСТ Дизайнер проектов Введение Концепции Основные понятия.
Advertisements

Azium Technologies. Логические системы в играх, как средство создания AI.
Алексей Кирсанов ведущий разработчик «1С-Битрикс» Магазин – глобальная реструктуризация. D7 Партнерская конференция «1С-Битрикс»
ПОРТАЛЬНЫЕ РЕШЕНИЯ Облачные технологии управления.
Пользовательский интерфейс для нескольких проектов Александр Веселов.
Система управления проектами. Опыт разработки и внедрения Юрий Шиляев директор Artics-Минск.
Технология MVC в высоконагруженных проектах Андрей Шетухин Илья Космодемьянский.
D7: проектирование и реализация нового модуля «Диск» Алексей Кирсанов Ведущий программист «1С-Битрикс»
Тема: GUI - организация конвейера Докладчик: Николай Воронецкий.
InternetApplications Division (IAD) 1 PowerDesigner в1999.
EXtreme Programming XP Тема 1. XP Экстремальное программирование небольших и средних неясных и быстро меняющихся требований Экстремальное программирование.
Волгоградский Государственный Технический Университет Курсовой проект Редактор диаграмм нотации IDEF0 IDEF0 Diagram Editor Менеджер проекта и архитектор:
Проектирование и разработка системы управления контентом Выполнили: Иванов Сергей Анатольевич, Захаров Антон Игоревич Руководитель: Соколов И.А.
Алексей Андреев гейм-дизайнер Эффективный левел-дизайн Создание уровней 3D-шутера.
Андрей Слепицкий Архитектор бизнес-решений Microsoft AR210.
Исполнитель: Утяшева И.А. Научный руководитель: к.ф.-м.н. Винокур В.В.
8/13/2012dotSITE - XP and MSF development in.NET1 Проектирование и создание приложений на базе Visual Studio.NET Andrew Filev Team leader dotSITE Ltd.Co.
Основано на теории, практике, размышлениях, Lessons Learned.
Презентация на тему:ERP Системы
Архивная фактографическая система Марчук А.Г. (Новосибирск) Марчук П.А. (Новосибирск)
Транксрипт:

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

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

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

Сцена

Основные части Хранилище данных Модули импорта Логика Модуль экспорта UI Диалоговые окна Редактирование свойств Движок редактора Инструменты редактирования Редактирование геометрии

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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