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