Vsevolod Leonov "Delphi XE2. Visual tools for cross-platform development"

Preview:

DESCRIPTION

 

Citation preview

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

Recommended