26
FireMonkey Разработка бизнес-приложений нового поколнеия 1

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

Embed Size (px)

DESCRIPTION

 

Citation preview

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

FireMonkey

Разработка бизнес-приложений нового поколнеия

1

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

• Развитые средства мульти-медии и графики для пользователя

• Интуитивный и интерактивный – легче учиться

• Моделирование физики реального мира

• Управление при помощи касаний и жестикуляции

Ренессанс потребительского ПО

2

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

Застой в ПО для бизнеса и производства

• 90’s Windows

• Ограничения “мыши” и клавиатуры

• Медленно учишься, плохо получается

3

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

Ключевые предметные области

• “Готовое” ПО

• Медицина

• Производство

• Финансы

• Телеком

• Энергетика

• Авиация и авто

• Биология

• Фармакология

• Утилиты

4

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

Пользователь

VCL

MFC

Производительность

Кач

ест

во

ПО для бизнеса сегодня

FireMonkey

5

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

Представляем… FireMonkey!

6

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

FireMonkey

• Новая платформа для разработки бизнес-приложений

• Производительность CPU и GPU

• “Родная” для Delphi работа с СУБД (Embarcadero DBTools)

• Платформы: Windows, Mac и iOS

7

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

FireMonkey не есть …

Managed RIA

HTML5/CSS3 Game

Engine 8

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

FireMonkey – это… платформа для разработки приложений

Delphi C++Builder

Windows Mac OS iOS

9

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

VCL и FireMonkey

Win Mac iOS

VCL

FM

VLC – классика, FM - будущее

10

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

Native CPU/GPU Application Platform

• Компиляция в платформенно-ориентированный код Windows, Mac и iOS

• Application, Database и Animation используют CPU

• Весь UI, графика и эффекты используют GPU

11

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

Формы HD

• Векторная графика, высокая скорость, использование GPU

• Максимум разрешения

• Сотни готовых компоненов (+партнеры?)

• Механизм поддержки стилей на основе GPU

• Софременные эффекты, поддержка прозрачности и переходов

12

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

Формы 3D

• Формы 3D, использующие GPU

• Освещение, текстуры и анимация на основе современного аппаратного обеспечения

• Формы 3D могут содержать элементы управления HD

13

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

Эффекты и анимация

• 50+ эффектов с использованием GPU (а-ля Photoshop)

• Одновременно несколько эффектов без потери производительности

• Продвинутая анимация, включая “вдоль линии” для любых графических примитивов HD и 3D

14

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

Обзор FireMonkey

• Кросс-платформенная

• Темы/”шкурки”

• Высокая производительность: анимация, эффекты

• Direct2D, D3D, Quartz и OpenGL

•Delphi и C++

• 100% Object Pascal Framework

15

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

FireMonkey – технология

• Mac

• HD использует Quartz

• Отрисовка 3D на Mac с помощью OpenGL

• Windows

• Direct2D для HD

• Direct3D для 3D

• FireMonkey использует GDI+ для векторыных HD-форм/элементов, когда Direct2D не поддерживается

16

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

FireMonkey – HD, 3D и GPU

• FireMonkey использует преимущества GPU, где возможно

• Формы HD могут отрисовываться на компьютере без GPU с некоторыми ограничениями:

– Нет TViewport3D, нет фильтров на основе Shader

• Формы 3D требуют GPU – но выполняют сложные преобразования и манипуляции с интерфейсом пользователя…

… другими словами, формы 3D могут быть отличным выбором для построения сложного интерфейса HD user interface

17

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

Архитектура FireMonkey

• TFmxObject = class(TComponent) – Создание, удаление и освобождение обхъекта – Клонирование, хранение и загрузка объекта из потока – Манипулирование с дочерним объектом (добавить, удалить,

искать) – Уведомление Free – Абстрактный слой для tab order – Поддержка ресурсов FireMonkey – Поддержка анимации FireMonkey

• IControl

– Обрабатывает события “фокуса”, “мыши” и клавиатуры – Реализован TControl и TControl3D

18

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

Архитектура FireMonkey

• IRoot – Интерфейс для контейнеров высокого уровня – Обрабатывает Focused, Captured, Active controls – Реализуется в TCustomForm

• IScene

– Интерфейс контейнера для объектов 2D – Реализован в TForm, TCustomLayer3D

• IViewport3D

– Интерфейс контейнера для объектов 3D – Реализован в TForm3D, TViewport3D

19

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

Стили FireMonkey

• Стили FireMonkey

– Коллекция стилей ресурсов FireMonkey

– Реализация наподобие WPF

– Стили можно наследовать, сохранять, загружать

– Файлы стилей “look&feel” для Win7, MacOS, iOS и пользовательских “тем”

20

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

FireMonkey – Анимация • Используется для изменения свойства во времени

• Не зависит от производительности аппаратного обеспечения

• Можно “зациклить” или “обратить”

• Можно изменять во времени / пути

• Срабатывает MouseOver, Focus, Visibility, etc.

21

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

FireMonkey – Эффекты / Фильтры

• Прменяются к “битмапам”

• Применимы к элементам управления

• Срабатывают на MouseOver, Focus, Visibility, etc.

• Реализация на основе GPU shader

22

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

Программирование 3D

• Одна объектная модель – много платформ

• FM использует “праворукую” систему координат

• Аппаратное ускорение

– Windows – DirectX

– MacOS – OpenGL

– iOS – OpenGL ES

23

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

FireMonkey и кросс-платформенность

• FM – платформа, которая поддерживает – RTL – GUI – БД – ОС

• Компилируется / запускается на всех поддерживаемых нами платформах *

• * подмножество мобильных платформ

24

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

Fire Monkey - Демонстрация

25

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

Резюме

• FireMonkey – платформа для разработки бизнес-приложений нового поколения

• Полностью использует возможности GPU • RAD, дающее результаты качественно нового уровня • Инвестируй в одну платформу, получай поддержку различных

по природе ОС • Компиляторы Delphi и C++, платформенно-ориентированные

исполняемые модули • Использование анимации и эффектов

• Вы ограничены только вашей фантазией!!!

• FIREMONKEY = светлое будущее!!!

26