파이어몽키
FireMonkey원저작자 | 엠바카데로 테크놀로지스 (2011) |
---|---|
개발자 | 엠바카데로 테크놀로지스 |
기입처 | 델파이 |
운영 체제 | 크로스 플랫폼(Windows, macOS, iOS, Android) |
유형 | GUI, RTL |
면허증. | 상업의 전매 라이선스 |
웹 사이트 | www |
FireMonkey(약칭 FMX)는 델파이 또는 C++빌더에서 사용하기 위해 엠바카데로 테크놀로지스가 개발한 크로스 플랫폼 GUI 프레임워크로, 오브젝트 파스칼 또는 C++를 사용하여 Windows, MacOS, iOS 및 Android용 크로스 플랫폼 애플리케이션을 구축합니다.서드파티제 라이브러리인 FMX Linux는 Linux 상에서 FireMonkey 애플리케이션을 구축할 수 있도록 합니다.
역사
파이어몽키는 러시아 울란우데 KSDev의[1] 유진 크류코프(Eugene Kryukov)가 차세대 벡터 기반 GUI로 설계한 VGScene을 기반으로 한다.2011년에 VGScene은 미국 기업인 Embacadero Technologies에 매각되었습니다.Kryukov는 FireMonkey 개발에 계속 관여했다.Windows 전용 Visual Component Library(VCL)와 함께 크로스 플랫폼 FireMonkey 프레임워크는 버전 XE2 이후 Dellphi, C++Builder 및 RAD Studio의 일부로 포함되어 있습니다.FireMonkey는 처음에 벡터 기반 UI 프레임워크로 시작했지만 타깃 플랫폼 외관에 맞게 외관을 보다 효과적으로 제어할 수 있도록 비트맵 또는 래스터 기반[2] UI 프레임워크로 진화했습니다.
개요
FireMonkey는 크로스 플랫폼 UI 프레임워크로 개발자가 Windows, MacOS, iOS 및 Android에서 실행되는 사용자 인터페이스를 만들 수 있습니다.가능한 경우 GPU를 사용하도록 작성되었으며, 응용 프로그램은 Windows Vista, Windows 7, Windows 8 및 Windows 10의 Direct2D, MacOS의 OpenGL, iOS 및 Android의 OpenGL ES 및 Direct2D를 사용할 수 없는 Windows 플랫폼(Windows XP의 예)에서 사용할 수 있는 하드웨어 액셀러레이션 기능을 활용합니다.
FireMonkey로 개발된 애플리케이션과 인터페이스는 HD와 3D의 [2]두 가지 범주로 구분됩니다.HD 애플리케이션은 전통적인 2차원 인터페이스, 즉 화면상의 UI 요소입니다.FireMonkey는 다이나믹 스타일 시스템에서 고해상도 비트맵을 사용하여 고DPI 디스플레이를 활용하기 때문에 HD라고 불립니다.두 번째 유형인 3D 인터페이스는 시각화 개발에 유용한 3D 장면 환경을 제공합니다.2D 요소는 오버레이 또는 3D 공간에서 3D 장면에 2D 요소(버튼과 같은 일반 UI 컨트롤)와 일반 2D "HD" 인터페이스에 통합된 3D 장면과 함께 자유롭게 혼합할 수 있습니다.이 프레임워크에는 효과(블러, 글로우 등)와 애니메이션에 대한 지원이 내장되어 있어 최신 WPF 스타일의 유체 인터페이스를 쉽게 구축할 수 있다.또한 네이티브 테마를 지원하므로 FireMonkey 응용 프로그램이 각 플랫폼에서 네이티브에 매우 가깝게 보일 수 있습니다.Windows, MacOS, iOS 및 Android에서 타사 라이브러리와[3] ControlType [4]속성을 통해 기본 컨트롤을 사용할 수 있습니다.
FireMonkey는 비주얼 프레임워크일 뿐만 아니라 완전한 소프트웨어 개발 프레임워크이며 VCL에서 사용할 수 있는 많은 기능을 보유하고 있습니다.주요 차이점은 다음과 같습니다.[5]
- 크로스 플랫폼 호환성
- 모든 시각적 구성 요소는 다른 시각적 구성 요소의 하위 구성 요소가 될 수 있으므로 하이브리드 구성 요소를 생성할 수 있습니다.
- 내장 스타일링 지원(현재 VCL에서도 이용 가능)
- 위치 등에 정수 대신 단정도 부동소수점 숫자 사용
- GPU 셰이더 기반의 시각 효과(Glow, Inner Glow, Blur 등) 및 시각 컴포넌트 애니메이션 지원
프레임워크는 플랫폼 간 호환성이 있기 때문에 동일한 소스 코드와 폼 설계를 사용하여 지원하는 다양한 플랫폼에 도입할 수 있습니다.기본적으로 Windows에서 32비트 및 64비트 실행 파일, MacOS에서 32비트 실행 파일, iOS에서 32비트 및 64비트 실행 파일, [6]Android에서 32비트 및 64비트 실행 파일을 지원합니다.FireMonkey에는 사용자 인터페이스를 각 타깃플랫폼의 올바른 동작과 외관에 적응시키는 플랫폼서비스가 포함되어 있습니다.
XE2에서 도입된 이후 프레임워크의 많은 부분에서 많은 개선이 이루어졌으며 적극적으로 개발 및 개선되고 있습니다.예를 들어, macOS 개발은 IDE에 긴밀하게 통합되어 있기 때문에 배포 전용으로 Mac이 필요합니다.센서, 터치, GPS와 같은 수많은 부품이 추가되었으며, 특히 모바일 앱을 개발하는 사람들에게 유용합니다.퍼포먼스와 기본적인 기술 향상이 현저하게 이루어지고 있습니다.
특징들
그래픽스
FireMonkey는 Windows, MacOS, iOS 및 Android에서 사용할 수 있는 경우 하드웨어 가속 기능을 사용합니다.Direct2D 또는 OpenGL은 Windows Vista, Windows 7, Windows 8 및 Windows 10에서 사용할 수 있습니다.Direct2D를 사용할 수 없는 Windows 플랫폼(Windows XP 등)에서는 GDI+로 폴백됩니다.OpenGL은 MacOS에서 사용됩니다.OpenGL ES는 iOS와 Android에서 사용됩니다.
스타일
FireMonkey의 모든 컨트롤은 스타일링 시스템을 통해 스타일링할 수 있습니다.이는 TSTyleBook을 폼에 첨부하여 스타일을 로드하여 폼에 적용합니다.플랫폼에 따라서는 OS가 제공하는 제어 구현을 사용하도록 특정 제어를 설정할 수도 있습니다.이러한 제어는, 파이어 몽키 버전과는 대조됩니다.Firemonkey 자체 구현에 의해 제공되는 일부 기능을 제거하면서 추가 기능을 추가할 수 있습니다.
플랫폼 서비스
시각적인 컴포넌트 외에 FireMonkey는 플랫폼에 의존하지 않고 플랫폼 고유의 기능에 액세스하기 위한 느슨한 결합 방법을 제공합니다.이것은 플랫폼의 디폴트 동작으로도 표시됩니다.예를 들어 TTabControl의 TabPosition은 PlatformDefault라는 속성값을 가지고 있으며, 이러한 플랫폼의 설계 가이드라인에 따라 탭을 Android 상단과 iOS 하단으로 자동으로 이동합니다.
레퍼런스
- ^ "Cross-platform development the FireMonkey way". Delphi Bistro. Retrieved 2016-10-08.
- ^ a b "FireMonkey - RAD Studio". docwiki.embarcadero.com. Embarcadero Technologies. Retrieved 2017-05-17.
- ^ Software, TMS. "TMS Software". www.tmssoftware.com. Retrieved 2017-05-17.
- ^ "FMX.Controls.Presentation.TPresentedControl.ControlType - RAD Studio API Documentation". docwiki.embarcadero.com. Retrieved 2017-05-17.
- ^ "VCL vs. FireMonkey". Podcast at Delphi.org. Retrieved 2017-07-25.
- ^ "FireMonkey Platform Prerequisites". docwiki.embarcadero.com. Retrieved 2020-09-05.