RAD 스튜디오 11.0 알렉산드리아 "새 기능 한글 요약본: FMX" 입니다.
11.0 알렉산드리아의 모든 새 기능, 강화된 기능, 버그 픽스 등에 대해서는 Docwiki의 What's New (영문 보기, 한글번역 보기) 와 관련 페이지를 보기 바랍니다.
파이어몽키에서 우리는 핵심 요소 리팩토링에 주력했다. 특히 데스크탑과 윈도우에 촛점을 맞추었다. 이제 macOS용과 윈도우용 플랫폼 서비스가 별도의 유닛으로 리팩토링하고, IFMXMultiDisplayService와 TDisplay를 확장했으며, 관련 서비스에 해당되는 모든 메트릭스(metrics)를 뽑아서 FMX.Platform.Metrics 안에 넣어두었다. 리팩토링 한것들:
- IFMXSaveStateService
- IFMXDeviceService
- IFMXVirtualKeyboardService
- IFMXTimerService
- IFMXLoggingService
- IFMXMenuService
11.0 알렉산드리아 - FMX 관련 주요 업데이트 요약
새로운 macOS ARM 64비트 플랫폼 지원
RAD Studio 11.0은 새 Delphi 타겟 플랫폼으로 macOS ARM 64비트를 지원하므로, macOS 11를 탑재한 새 M1 Apple Silicon CPU용 네이티브 애플리케이션을 구축할 수 있다.
macOS 범용 바이너리 생성
Intel 및 ARM 코드를 모두 포함하는 범용(Universal) 바이너리를 생성할 수 있다. 그렇게 하려면, 타겟 플랫폼을 macOS ARM 64-bit로 지정하고, Project > Options | Building > Delphi Compiler > Compiling | Other > Generate macOS universal binary file (x86_64 + arm64)가 True가 되도록 체크한다. 응용프로그램을 배포한 후에 OSXARM64\Debug 폴더에 새로 만든 범용 바이너리가 있는 지 확인할 수 있다.
MacOS 지원 중단
RAD 스튜디오 11.0에서, Macapi.QTKit 유닛은 macOS/X64에서 더이상 사용되지 않으며, macOS/Arm64 라이브러리에서도 제거되었다. 또한, Macapi.Quicktime 유닛 역시 macOS/X64와 macOS/Arm64 라이브러리 모두에서 제거되었다.
Google Play 청구 라이브러리 버전 4
-
RAD 스튜디오 11.0은 Google Billing API의 최신 버전을 지원한다.
(이 버전은 구글이 요구하는 플레이 스토어 앱의 필수 조건이며, 2021년 11월까지 유예가 허용된다). - FMX 라이브러리에 Google Billing API의 최신 버전이 반영되어서 개발자가 손쉽게 적용할 수 있다.
안드로이드 API 30 지원과 라이브러리 업데이트
-
안드로이드 API 30 지원에는 다음 변경이 포함된다.
- 안드로이드 API 30 (구글 플레이 스토어의 2021년 요구사항)을 타겟으로 지정 할 수 있다.
- 예전 “Support Library” 라이브러리를 새 “AndroidX” 라이브러리로 마이그레이션했다.
-
이전과 다른 자바 라이브러리 세트가 포함 됨에 따라 이전 버전과 호환되지 않는다. RAD 스튜디오 이전 버전에서 작성한 프로젝트를 열 때에는 다음 절차를 진행해야 한다.
- IDE의 Projects 창으로 간다.
- Android 32-bit 또는 Android 64-bit를 활성 타겟 플랫폼으로 지정한다.
- Libraries 노드를 마우스 오른쪽 클릭한다.
- Revert System Files to Default를 선택한다.
안드로이드 앱 개발 시 "멀티덱스(multidex)" 지원
- 멀티덱스 (MultiDex: 안드로이드 앱에서 classes.dex 파일을 여러개 생성할 수 있도록 허용하는 기능) 지원이 추가되었다.
- 최신 "D8" DEX 컴파일러를 사용하여 Java 바이트코드를 DEX 파일로 컴파일한다. (이전의 "DX" DEX 컴파일러를 대체함)
- 예전에는 다시 컴파일 하고 나서 기존의 classes.dex 파일을 수정해야 했다. 이제 그 복잡한 절차가 필요없이 프로젝트에 필요한 요구사항을 간편하게 넣을 수 있다.
웹 브라우저 크로미엄 엣지 지원
FMX의 윈도우용 TWebBrowser 는 플랫폼 WebView2 컴포넌트를 통해 크로미엄 엣지를 지원한다. (VCL TWebBrowser 유사함)
- WidnowsEngine 프로퍼티: 사용할 웹 브라우저 엔진을 선택할 수 있다.
추가 개선사항
- 파이어몽키 접근 권한 팩이 핵심 제품에 통합(별도 다운로드가 아님)
- 스타일과 플랫폼 컨트롤의 조합을 위한 Z-Order 관리 향상
- 사용하지 않는 이전의 비 범위 열거형 값 제거(즉, 2014년에 사용되지 않는 열거형을 지원하기 위해 추가되었던 FMX 도우미 클래스)
- 안드로이드 플랫폼용 TWebBrowser에서 파일 업로드 지원