SlideShare a Scribd company logo
1 of 26
Download to read offline
FireMonkey

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



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




• Развитые средства мульти-медии и графики для
  пользователя
• Интуитивный и интерактивный – легче учиться
• Моделирование физики реального мира
• Управление при помощи касаний и жестикуляции
                                                 2
Застой в ПО для бизнеса и
            производства




• 90’s Windows
• Ограничения “мыши” и клавиатуры
• Медленно учишься, плохо получается


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




•   “Готовое” ПО   •   Энергетика
•   Медицина       •   Авиация и авто
•   Производство   •   Биология
•   Финансы        •   Фармакология
•   Телеком        •   Утилиты
                                        4
Пользователь
                                FireMonkey




                                ПО
                                для бизнеса
                         VCL    сегодня
Качество




                        MFC
           Производительность
                                          5
Представляем… FireMonkey!




                            6
FireMonkey




•   Новая платформа для разработки бизнес-приложений
•   Производительность CPU и GPU
•   “Родная” для Delphi работа с СУБД (Embarcadero DBTools)
•   Платформы: Windows, Mac и iOS

                                                          7
Managed          RIA



   FireMonkey не есть …

                   Game
HTML5/CSS3         Engine
                            8
FireMonkey – это…
платформа для разработки приложений

   C++Builder        Delphi



  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

More Related Content

Viewers also liked

Dmitry Zavalishin. Successful it-project - where can it fail
Dmitry Zavalishin. Successful it-project - where can it failDmitry Zavalishin. Successful it-project - where can it fail
Dmitry Zavalishin. Successful it-project - where can it failAndrew Mayorov
 
Alexei Sintsov - "Between error and vulerability - one step"
Alexei Sintsov - "Between error and vulerability - one step"Alexei Sintsov - "Between error and vulerability - one step"
Alexei Sintsov - "Between error and vulerability - one step"Andrew Mayorov
 
Референсная архитектура приложения на ASP.NET MVC
Референсная архитектура приложения на ASP.NET MVCРеференсная архитектура приложения на ASP.NET MVC
Референсная архитектура приложения на ASP.NET MVCAndrew Mayorov
 
Синяя Борода. История одного проекта.
Синяя Борода. История одного проекта.Синяя Борода. История одного проекта.
Синяя Борода. История одного проекта.Andrew Mayorov
 
Производительность и энергопотребление мобильных приложений на примере Window...
Производительность и энергопотребление мобильных приложений на примере Window...Производительность и энергопотребление мобильных приложений на примере Window...
Производительность и энергопотребление мобильных приложений на примере Window...Andrew Mayorov
 
Victor Kuzmin - How to organize service development for several mobile platforms
Victor Kuzmin - How to organize service development for several mobile platformsVictor Kuzmin - How to organize service development for several mobile platforms
Victor Kuzmin - How to organize service development for several mobile platformsAndrew Mayorov
 
Roman Zdebskiy - Client vs. Browser
Roman Zdebskiy - Client vs. BrowserRoman Zdebskiy - Client vs. Browser
Roman Zdebskiy - Client vs. BrowserAndrew Mayorov
 
Проектирование архитектуры приложений
Проектирование архитектуры приложенийПроектирование архитектуры приложений
Проектирование архитектуры приложенийAndrew Mayorov
 
Alexander Dolgarev "Comparizon of AMQP and Zero MQ"
Alexander Dolgarev  "Comparizon of AMQP and Zero MQ"Alexander Dolgarev  "Comparizon of AMQP and Zero MQ"
Alexander Dolgarev "Comparizon of AMQP and Zero MQ"Andrew Mayorov
 
Построение индекса по иерархии записей в реляционной БД
Построение индекса по иерархии записей в реляционной БДПостроение индекса по иерархии записей в реляционной БД
Построение индекса по иерархии записей в реляционной БДAndrew Mayorov
 
(Eng) How Social Media Worked In #24godyny project (Updated)
(Eng) How Social Media Worked In #24godyny project (Updated)(Eng) How Social Media Worked In #24godyny project (Updated)
(Eng) How Social Media Worked In #24godyny project (Updated)Internews Ukraine
 
Banana Shelf Life Testing
Banana Shelf Life TestingBanana Shelf Life Testing
Banana Shelf Life Testingshubhamchandra
 
об удобстве иерархических структур данных
об удобстве иерархических структур данныхоб удобстве иерархических структур данных
об удобстве иерархических структур данныхAndrew Mayorov
 
ObjectXPathNavigator - как и зачем?
ObjectXPathNavigator - как и зачем?ObjectXPathNavigator - как и зачем?
ObjectXPathNavigator - как и зачем?Andrew Mayorov
 

Viewers also liked (17)

Dmitry Zavalishin. Successful it-project - where can it fail
Dmitry Zavalishin. Successful it-project - where can it failDmitry Zavalishin. Successful it-project - where can it fail
Dmitry Zavalishin. Successful it-project - where can it fail
 
Alexei Sintsov - "Between error and vulerability - one step"
Alexei Sintsov - "Between error and vulerability - one step"Alexei Sintsov - "Between error and vulerability - one step"
Alexei Sintsov - "Between error and vulerability - one step"
 
Референсная архитектура приложения на ASP.NET MVC
Референсная архитектура приложения на ASP.NET MVCРеференсная архитектура приложения на ASP.NET MVC
Референсная архитектура приложения на ASP.NET MVC
 
Синяя Борода. История одного проекта.
Синяя Борода. История одного проекта.Синяя Борода. История одного проекта.
Синяя Борода. История одного проекта.
 
Производительность и энергопотребление мобильных приложений на примере Window...
Производительность и энергопотребление мобильных приложений на примере Window...Производительность и энергопотребление мобильных приложений на примере Window...
Производительность и энергопотребление мобильных приложений на примере Window...
 
Sign Me Up
Sign Me UpSign Me Up
Sign Me Up
 
Victor Kuzmin - How to organize service development for several mobile platforms
Victor Kuzmin - How to organize service development for several mobile platformsVictor Kuzmin - How to organize service development for several mobile platforms
Victor Kuzmin - How to organize service development for several mobile platforms
 
Roman Zdebskiy - Client vs. Browser
Roman Zdebskiy - Client vs. BrowserRoman Zdebskiy - Client vs. Browser
Roman Zdebskiy - Client vs. Browser
 
Проектирование архитектуры приложений
Проектирование архитектуры приложенийПроектирование архитектуры приложений
Проектирование архитектуры приложений
 
Alexander Dolgarev "Comparizon of AMQP and Zero MQ"
Alexander Dolgarev  "Comparizon of AMQP and Zero MQ"Alexander Dolgarev  "Comparizon of AMQP and Zero MQ"
Alexander Dolgarev "Comparizon of AMQP and Zero MQ"
 
Построение индекса по иерархии записей в реляционной БД
Построение индекса по иерархии записей в реляционной БДПостроение индекса по иерархии записей в реляционной БД
Построение индекса по иерархии записей в реляционной БД
 
Asad C.V
Asad C.VAsad C.V
Asad C.V
 
(Eng) How Social Media Worked In #24godyny project (Updated)
(Eng) How Social Media Worked In #24godyny project (Updated)(Eng) How Social Media Worked In #24godyny project (Updated)
(Eng) How Social Media Worked In #24godyny project (Updated)
 
Xslt
XsltXslt
Xslt
 
Banana Shelf Life Testing
Banana Shelf Life TestingBanana Shelf Life Testing
Banana Shelf Life Testing
 
об удобстве иерархических структур данных
об удобстве иерархических структур данныхоб удобстве иерархических структур данных
об удобстве иерархических структур данных
 
ObjectXPathNavigator - как и зачем?
ObjectXPathNavigator - как и зачем?ObjectXPathNavigator - как и зачем?
ObjectXPathNavigator - как и зачем?
 

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

Не так страшен Linux…
Не так страшен Linux…Не так страшен Linux…
Не так страшен Linux…Artem Bachinin
 
Microsoft: Создание игр на DirectX для Windows 8 и Windows Phone 8
 Microsoft: Создание игр на DirectX для Windows 8 и Windows Phone 8 Microsoft: Создание игр на DirectX для Windows 8 и Windows Phone 8
Microsoft: Создание игр на DirectX для Windows 8 и Windows Phone 8DevGAMM Conference
 
Marmalade: Кроссплатформенность для профессионалов. Как и почему?
 Marmalade: Кроссплатформенность для профессионалов. Как и почему? Marmalade: Кроссплатформенность для профессионалов. Как и почему?
Marmalade: Кроссплатформенность для профессионалов. Как и почему?DevGAMM Conference
 
Применение low-code платформ в энтерпрайзе
Применение low-code платформ в энтерпрайзеПрименение low-code платформ в энтерпрайзе
Применение low-code платформ в энтерпрайзеAlexander Byndyu
 
Go Mobile! Windows Phone 7 for all
Go Mobile! Windows Phone 7 for all Go Mobile! Windows Phone 7 for all
Go Mobile! Windows Phone 7 for all SoftServe
 
Сравнение рынков Content Management Software тут и там
Сравнение рынков  Content Management Software тут и тамСравнение рынков  Content Management Software тут и там
Сравнение рынков Content Management Software тут и тамMedia Gorod
 
Unreal Engine 4: Best Practices and Recent Showcases
Unreal Engine 4: Best Practices and Recent ShowcasesUnreal Engine 4: Best Practices and Recent Showcases
Unreal Engine 4: Best Practices and Recent ShowcasesDevGAMM Conference
 
3D в браузере. Битва за реалистичность / Иван Дембицкий (Realaxy)
3D в браузере. Битва за реалистичность / Иван Дембицкий (Realaxy)3D в браузере. Битва за реалистичность / Иван Дембицкий (Realaxy)
3D в браузере. Битва за реалистичность / Иван Дембицкий (Realaxy)Ontico
 
Wargaming.net: Архитектура современных 3D движков
Wargaming.net: Архитектура современных 3D движковWargaming.net: Архитектура современных 3D движков
Wargaming.net: Архитектура современных 3D движковDevGAMM Conference
 
CodeFest 2012. Анкудинов Д. — О специфике мультиплатформенного тестирования игр
CodeFest 2012. Анкудинов Д. — О специфике мультиплатформенного тестирования игрCodeFest 2012. Анкудинов Д. — О специфике мультиплатформенного тестирования игр
CodeFest 2012. Анкудинов Д. — О специфике мультиплатформенного тестирования игрCodeFest
 
Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...
Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...
Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...CEE-SEC(R)
 
Interbase xe7 - универсальная субд для windows linux mac ios android
Interbase xe7 - универсальная субд для windows linux mac ios androidInterbase xe7 - универсальная субд для windows linux mac ios android
Interbase xe7 - универсальная субд для windows linux mac ios androidAndrew Sovtsov
 
{HSE Inc} Разработка под Android
{HSE Inc} Разработка под Android{HSE Inc} Разработка под Android
{HSE Inc} Разработка под AndroidPavel Krivoruchko
 
Интерактивные и динамические цифровые вывески: Новые решения в линейке DMS
Интерактивные и динамические цифровые вывески:Новые решения в линейке DMSИнтерактивные и динамические цифровые вывески:Новые решения в линейке DMS
Интерактивные и динамические цифровые вывески: Новые решения в линейке DMSCisco Russia
 
Ценность платформы Octopod для разработчиков мобильных приложений
Ценность платформы Octopod для разработчиков мобильных приложенийЦенность платформы Octopod для разработчиков мобильных приложений
Ценность платформы Octopod для разработчиков мобильных приложенийMichael Kozloff
 
Api Bitrix Ryzhikov
Api Bitrix RyzhikovApi Bitrix Ryzhikov
Api Bitrix RyzhikovAlex Ilyin
 
Разработка GUI игрового проекта на Scaleform
Разработка GUI игрового проекта на ScaleformРазработка GUI игрового проекта на Scaleform
Разработка GUI игрового проекта на ScaleformDmitry Dichkovsky
 

Similar to Vsevolod Leonov "Delphi XE2. Visual tools for cross-platform development" (20)

Не так страшен Linux…
Не так страшен Linux…Не так страшен Linux…
Не так страшен Linux…
 
Microsoft: Создание игр на DirectX для Windows 8 и Windows Phone 8
 Microsoft: Создание игр на DirectX для Windows 8 и Windows Phone 8 Microsoft: Создание игр на DirectX для Windows 8 и Windows Phone 8
Microsoft: Создание игр на DirectX для Windows 8 и Windows Phone 8
 
Marmalade: Кроссплатформенность для профессионалов. Как и почему?
 Marmalade: Кроссплатформенность для профессионалов. Как и почему? Marmalade: Кроссплатформенность для профессионалов. Как и почему?
Marmalade: Кроссплатформенность для профессионалов. Как и почему?
 
[Add 4] crossplatform .net
[Add 4] crossplatform .net[Add 4] crossplatform .net
[Add 4] crossplatform .net
 
мбоу сош№1 правка
мбоу сош№1 правкамбоу сош№1 правка
мбоу сош№1 правка
 
Применение low-code платформ в энтерпрайзе
Применение low-code платформ в энтерпрайзеПрименение low-code платформ в энтерпрайзе
Применение low-code платформ в энтерпрайзе
 
Go Mobile! Windows Phone 7 for all
Go Mobile! Windows Phone 7 for all Go Mobile! Windows Phone 7 for all
Go Mobile! Windows Phone 7 for all
 
Сравнение рынков Content Management Software тут и там
Сравнение рынков  Content Management Software тут и тамСравнение рынков  Content Management Software тут и там
Сравнение рынков Content Management Software тут и там
 
Unreal Engine 4: Best Practices and Recent Showcases
Unreal Engine 4: Best Practices and Recent ShowcasesUnreal Engine 4: Best Practices and Recent Showcases
Unreal Engine 4: Best Practices and Recent Showcases
 
3D в браузере. Битва за реалистичность / Иван Дембицкий (Realaxy)
3D в браузере. Битва за реалистичность / Иван Дембицкий (Realaxy)3D в браузере. Битва за реалистичность / Иван Дембицкий (Realaxy)
3D в браузере. Битва за реалистичность / Иван Дембицкий (Realaxy)
 
Wargaming.net: Архитектура современных 3D движков
Wargaming.net: Архитектура современных 3D движковWargaming.net: Архитектура современных 3D движков
Wargaming.net: Архитектура современных 3D движков
 
CodeFest 2012. Анкудинов Д. — О специфике мультиплатформенного тестирования игр
CodeFest 2012. Анкудинов Д. — О специфике мультиплатформенного тестирования игрCodeFest 2012. Анкудинов Д. — О специфике мультиплатформенного тестирования игр
CodeFest 2012. Анкудинов Д. — О специфике мультиплатформенного тестирования игр
 
Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...
Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...
Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...
 
Interbase xe7 - универсальная субд для windows linux mac ios android
Interbase xe7 - универсальная субд для windows linux mac ios androidInterbase xe7 - универсальная субд для windows linux mac ios android
Interbase xe7 - универсальная субд для windows linux mac ios android
 
{HSE Inc} Разработка под Android
{HSE Inc} Разработка под Android{HSE Inc} Разработка под Android
{HSE Inc} Разработка под Android
 
GNU/Linux и свободное ПО для компьютера
GNU/Linux и свободное ПО для компьютераGNU/Linux и свободное ПО для компьютера
GNU/Linux и свободное ПО для компьютера
 
Интерактивные и динамические цифровые вывески: Новые решения в линейке DMS
Интерактивные и динамические цифровые вывески:Новые решения в линейке DMSИнтерактивные и динамические цифровые вывески:Новые решения в линейке DMS
Интерактивные и динамические цифровые вывески: Новые решения в линейке DMS
 
Ценность платформы Octopod для разработчиков мобильных приложений
Ценность платформы Octopod для разработчиков мобильных приложенийЦенность платформы Octopod для разработчиков мобильных приложений
Ценность платформы Octopod для разработчиков мобильных приложений
 
Api Bitrix Ryzhikov
Api Bitrix RyzhikovApi Bitrix Ryzhikov
Api Bitrix Ryzhikov
 
Разработка GUI игрового проекта на Scaleform
Разработка GUI игрового проекта на ScaleformРазработка GUI игрового проекта на Scaleform
Разработка GUI игрового проекта на Scaleform
 

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

  • 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
  • 9. FireMonkey – это… платформа для разработки приложений C++Builder Delphi Windows Mac OS iOS 9
  • 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
  • 25. Fire Monkey - Демонстрация 25
  • 26. Резюме • FireMonkey – платформа для разработки бизнес-приложений нового поколения • Полностью использует возможности GPU • RAD, дающее результаты качественно нового уровня • Инвестируй в одну платформу, получай поддержку различных по природе ОС • Компиляторы Delphi и C++, платформенно-ориентированные исполняемые модули • Использование анимации и эффектов • Вы ограничены только вашей фантазией!!! • FIREMONKEY = светлое будущее!!! 26