2. Ренессанс потребительского ПО
• Развитые средства мульти-медии и графики для
пользователя
• Интуитивный и интерактивный – легче учиться
• Моделирование физики реального мира
• Управление при помощи касаний и жестикуляции
2
3. Застой в ПО для бизнеса и
производства
• 90’s Windows
• Ограничения “мыши” и клавиатуры
• Медленно учишься, плохо получается
3
4. Ключевые предметные области
• “Готовое” ПО • Энергетика
• Медицина • Авиация и авто
• Производство • Биология
• Финансы • Фармакология
• Телеком • Утилиты
4
5. Пользователь
FireMonkey
ПО
для бизнеса
VCL сегодня
Качество
MFC
Производительность
5
7. FireMonkey
• Новая платформа для разработки бизнес-приложений
• Производительность CPU и GPU
• “Родная” для Delphi работа с СУБД (Embarcadero DBTools)
• Платформы: Windows, Mac и iOS
7
8. Managed RIA
FireMonkey не есть …
Game
HTML5/CSS3 Engine
8
10. VCL и FireMonkey
Win Mac iOS
VCL
FM
VLC – классика, FM - будущее
10
11. Native CPU/GPU Application Platform
• Компиляция в платформенно-ориентированный код
Windows, Mac и iOS
• Application, Database и Animation используют CPU
• Весь UI, графика и эффекты используют GPU
11
12. Формы HD
• Векторная графика, высокая скорость, использование GPU
• Максимум разрешения
• Сотни готовых компоненов (+партнеры?)
• Механизм поддержки стилей на основе GPU
• Софременные эффекты, поддержка прозрачности и
переходов
12
13. Формы 3D
• Формы 3D, использующие GPU
• Освещение, текстуры и анимация на основе
современного аппаратного обеспечения
• Формы 3D могут содержать элементы управления HD
13
14. Эффекты и анимация
• 50+ эффектов с использованием GPU (а-ля Photoshop)
• Одновременно несколько эффектов без потери
производительности
• Продвинутая анимация, включая “вдоль линии” для
любых графических примитивов HD и 3D
14
15. Обзор FireMonkey
• Кросс-платформенная
• Темы/”шкурки”
• Высокая производительность: анимация,
эффекты
• Direct2D, D3D, Quartz и OpenGL
•Delphi и C++
• 100% Object Pascal Framework
15
16. FireMonkey – технология
• Mac
• HD использует Quartz
• Отрисовка 3D на Mac с помощью OpenGL
• Windows
• Direct2D для HD
• Direct3D для 3D
• FireMonkey использует GDI+ для
векторыных HD-форм/элементов, когда
Direct2D не поддерживается
16
17. FireMonkey – HD, 3D и GPU
• FireMonkey использует преимущества GPU, где возможно
• Формы HD могут отрисовываться на компьютере без GPU с
некоторыми ограничениями:
– Нет TViewport3D, нет фильтров на основе Shader
• Формы 3D требуют GPU – но выполняют сложные преобразования и
манипуляции с интерфейсом пользователя…
… другими словами, формы 3D могут быть отличным выбором
для построения сложного интерфейса HD user interface
17
18. Архитектура FireMonkey
• TFmxObject = class(TComponent)
– Создание, удаление и освобождение обхъекта
– Клонирование, хранение и загрузка объекта из потока
– Манипулирование с дочерним объектом (добавить, удалить,
искать)
– Уведомление Free
– Абстрактный слой для tab order
– Поддержка ресурсов FireMonkey
– Поддержка анимации FireMonkey
• IControl
– Обрабатывает события “фокуса”, “мыши” и клавиатуры
– Реализован TControl и TControl3D
18
19. Архитектура FireMonkey
• IRoot
– Интерфейс для контейнеров высокого уровня
– Обрабатывает Focused, Captured, Active controls
– Реализуется в TCustomForm
• IScene
– Интерфейс контейнера для объектов 2D
– Реализован в TForm, TCustomLayer3D
• IViewport3D
– Интерфейс контейнера для объектов 3D
– Реализован в TForm3D, TViewport3D
19
20. Стили FireMonkey
• Стили FireMonkey
– Коллекция стилей ресурсов FireMonkey
– Реализация наподобие WPF
– Стили можно наследовать, сохранять,
загружать
– Файлы стилей “look&feel” для Win7, MacOS, iOS
и пользовательских “тем”
20
21. FireMonkey – Анимация
• Используется для изменения свойства во времени
• Не зависит от производительности аппаратного
обеспечения
• Можно “зациклить” или “обратить”
• Можно изменять во времени / пути
• Срабатывает MouseOver, Focus, Visibility, etc.
21
22. FireMonkey – Эффекты / Фильтры
• Прменяются к “битмапам”
• Применимы к элементам управления
• Срабатывают на MouseOver, Focus, Visibility,
etc.
• Реализация на основе GPU shader
22
23. Программирование 3D
• Одна объектная модель – много платформ
• FM использует “праворукую” систему
координат
• Аппаратное ускорение
– Windows – DirectX
– MacOS – OpenGL
– iOS – OpenGL ES
23
24. FireMonkey и кросс-платформенность
• FM – платформа, которая поддерживает
– RTL
– GUI
– БД
– ОС
• Компилируется / запускается на всех
поддерживаемых нами платформах *
• * подмножество мобильных платформ
24
26. Резюме
• FireMonkey – платформа для разработки бизнес-приложений
нового поколения
• Полностью использует возможности GPU
• RAD, дающее результаты качественно нового уровня
• Инвестируй в одну платформу, получай поддержку различных
по природе ОС
• Компиляторы Delphi и C++, платформенно-ориентированные
исполняемые модули
• Использование анимации и эффектов
• Вы ограничены только вашей фантазией!!!
• FIREMONKEY = светлое будущее!!!
26