stringtranslate.com

FireMonkey

FireMonkey (сокращенно FMX ) — это кроссплатформенная среда графического пользовательского интерфейса, разработанная Embarcadero Technologies для использования в Delphi , C++Builder или Python с использованием Object Pascal , C++ или Python для создания кроссплатформенных приложений для Windows , macOS , iOS и Android . Сторонняя библиотека FMX Linux позволяет создавать приложения FireMonkey в Linux .

История

FireMonkey основан на VGScene, который был разработан Евгением Крюковым из KSDev из Улан-Удэ , Россия [1] как векторный графический интерфейс нового поколения . В 2011 году VGScene была продана американской компании Embarcadero Technologies. Крюков продолжал участвовать в разработке FireMonkey. Наряду с традиционной библиотекой визуальных компонентов (VCL), доступной только для Windows, кросс-платформенная платформа FireMonkey включена в состав Delphi, C++Builder и RAD Studio, начиная с версии XE2. FireMonkey начинался как векторная платформа пользовательского интерфейса, но превратилась в структуру пользовательского интерфейса на основе растровых или растровых изображений [2] , чтобы обеспечить больший контроль над внешним видом в соответствии с внешним видом целевой платформы.

В 2021 году компания Embarcadero выпустила FireMonkey для Python, разработанный Лукасом Моурой Бело. FireMonkey для Python — это скомпилированный в собственном коде модуль Python, работающий на основе библиотеки Python4Delphi. Он предоставляет разработчикам Python доступ к среде графического интерфейса FireMonkey и распространяется свободно. Он полностью поддерживает разработку графического интерфейса для Windows, MacOS, Linux и Android.

Обзор

FireMonkey — это кроссплатформенная среда пользовательского интерфейса, позволяющая разработчикам создавать пользовательские интерфейсы, работающие в Windows, macOS, iOS и Android. Он написан для использования графического процессора, где это возможно, и приложения используют преимущества функций аппаратного ускорения, доступных в Direct2D в Windows Vista , Windows 7 , Windows 8 и Windows 10 , OpenGL в macOS, OpenGL ES в iOS и Android, а также на платформах Windows. там, где Direct2D недоступен ( например, Windows XP ), он возвращается к GDI+ .

Приложения и интерфейсы, разработанные с помощью FireMonkey, разделены на две категории: HD и 3D . [2] HD-приложение представляет собой традиционный двумерный интерфейс; то есть элементы пользовательского интерфейса на экране. Он называется HD, потому что FireMonkey использует растровые изображения с разными разрешениями в своей системе динамических стилей, чтобы использовать преимущества дисплеев с высоким разрешением. Второй тип, 3D-интерфейс, обеспечивает среду 3D-сцены, полезную для разработки визуализаций. Их можно свободно смешивать: 2D-элементы (обычные элементы управления пользовательского интерфейса, такие как кнопки) в 3D-сцене либо в виде наложения, либо в 3D-пространстве, а 3D-сцены интегрированы в обычный 2D-интерфейс «HD». Платформа имеет встроенную поддержку эффектов (таких как размытие и свечение, а также других) и анимации, что позволяет легко создавать современные гибкие интерфейсы в стиле WPF . Он также поддерживает собственные темы, поэтому приложение FireMonkey может выглядеть очень близко к нативному на каждой платформе. Собственные элементы управления можно использовать в Windows, macOS, iOS и Android с помощью как сторонних библиотек [3] , так и свойства ControlType. [4]

FireMonkey — это не только визуальная среда, но и полноценная среда разработки программного обеспечения, сохраняющая многие функции, доступные в VCL . Основные различия: [5]

Поскольку платформа является кроссплатформенной, для развертывания на различных поддерживаемых платформах можно использовать один и тот же исходный код и дизайн формы. Он изначально поддерживает 32-битные и 64-битные исполняемые файлы в Windows, 32-битные исполняемые файлы в macOS, 32-битные и 64-битные исполняемые файлы в iOS, а также 32-битные и 64-битные исполняемые файлы в Android. [6] FireMonkey включает в себя сервисы платформы, которые адаптируют пользовательский интерфейс к правильному поведению и внешнему виду на каждой целевой платформе.

С момента его появления в XE2 во многих областях платформы были внесены многочисленные улучшения, и она активно развивается и совершенствуется. Например, разработка для macOS тесно интегрирована в IDE, поэтому Mac требуется только для развертывания. Были добавлены многочисленные компоненты, такие как датчики, сенсорное управление и GPS, что особенно полезно для разработчиков мобильных приложений. Также были достигнуты значительные улучшения в производительности и основных технологических улучшениях.

Функции

Графика

FireMonkey использует аппаратное ускорение, если оно доступно в Windows, macOS, iOS и Android. Direct2D или OpenGL можно использовать в Windows Vista , Windows 7 , Windows 8 и Windows 10 . На платформах Windows, где Direct2D недоступен ( например , Windows XP ), он возвращается к GDI+ . OpenGL используется в macOS. OpenGL ES используется на iOS и Android .

Стили

Все элементы управления в FireMonkey можно стилизовать с помощью системы стилей. Это достигается путем прикрепления к форме TStyleBook, а также загрузки и применения стиля к форме. На некоторых платформах некоторые элементы управления также могут быть настроены на использование реализации элемента управления, предоставляемой ОС, в отличие от самостоятельно созданной версии Firemonkey. Иногда это добавляет дополнительные функции, но удаляет некоторые функции, предоставляемые собственной реализацией Firemonkey.

Услуги платформы

Помимо визуальных компонентов, FireMonkey предоставляет слабосвязанный способ доступа к специфическим функциям платформы, независимо от платформы. Это также отображается как поведение платформы по умолчанию. Например, TabPosition элемента TTabControl имеет значение свойства PlatformDefault , которое автоматически перемещает вкладки вверх на Android и вниз на iOS, чтобы соответствовать рекомендациям по проектированию для этих платформ.

Рекомендации

  1. ^ «Кроссплатформенная разработка по пути FireMonkey» . Бистро Дельфи . Проверено 8 октября 2016 г.
  2. ^ ab «FireMonkey — RAD Studio». docwiki.embarcadero.com . Эмбаркадеро Технологии . Проверено 17 мая 2017 г.
  3. ^ Программное обеспечение, ТМС. «Программное обеспечение ТМС». www.tmssoftware.com . Проверено 17 мая 2017 г.
  4. ^ "FMX.Controls.Presentation.TPresentedControl.ControlType - Документация по API RAD Studio" . docwiki.embarcadero.com . Проверено 17 мая 2017 г.
  5. ^ «VCL против FireMonkey». Подкаст на Delphi.org . Проверено 25 июля 2017 г.
  6. ^ «Предварительные требования к платформе FireMonkey» . docwiki.embarcadero.com . Проверено 05 сентября 2020 г.