The “Delphi in all its glory” book [4] FireMonkey Cross-Platform Application Programming

Delphi in all its glory: FireMonkey Cross-Platform Application Programming for Android, iOS, macOS, Windows & Linux

This is the 4th book in “Delphi in all its glory” series. It was released December 2025.

Order the book in electronic of printed format.

Delphi FMX - Cross platform applications programming bookOne Codebase to Rule Them All.

 


Book details

The world has gone cross-platform, and your code needs to follow. From configuring the IDE to publishing signed apps in the Google Play and Apple App stores, this book doesn’t miss a step.
This is the practical, hands-on guide to building, styling, and deploying applications across Windows, macOS, Android, and iOS using the FireMonkey FMX framework.

What You’ll Master Right Now

The cross-platform blueprint: Learn exactly why FMX is different from VCL, how the rendering works, and the core architectural differences.
* Setup and deployment: Easy, step-by-step guides for preparing your environment and mastering platform-specific requirements for Android and Apple. PAServer, SDK, NDK, ADB will be no longer esoteric terms to you.
* App store ready: Complete chapters dedicated to the entire process of publishing your app in stores, including setting up provisioning, signing your binaries, versioning, and submission.
* Mastering FireMonkey: Deep dive into the FMX hierarchy, key differences in controls, forms, and dialog boxes, and using modern features.
* VCL to FMX conversion: Explore tools like MidaConverter and ADUG VCL to FMX Converter to help you migrate existing/legacy VCL code and adapt components that don’t have a direct FMX equivalent.
* Code control: Techniques for managing code across platforms using Conditional Compilation Directives and compiler detection to keep your single codebase clean and functional everywhere.
* The app sandbox explained: Understand the concept of the App Sandbox, the anatomy of an App Package, and the critical methods for reliable file deployment on mobile devices.
* Bonus tools – The book discusses tools that you can use to make your cross-platform life easier.

_______________________

This book is pragmatic, fast-paced, and focused on solutions. You’ll find no fluff or “just trust me” advice. Every concept is backed by clear examples and best practices developed over decades of professional cross-platform engineering.

About the author
Gabriel Moraru is a senior software architect with nearly three decades of experience, holding degrees in engineering and expertise spanning robotics, bioinformatics, and big data. He breaks down complex multi-platform architecture into actionable steps that any professional Delphi developer can immediately apply.


Table of content

1. Overview 4
Intended audience 4
What is Delphi? 4
Book summary 4
Always focused on code-safety 8
How is this book written? 9
Let’s start 12
3. Why go cross-platform? 20
From Windows-centric to multi-platform 22
4. Preparing for cross-platform 24
Development kits 24
Which modules to install? 28
Default values 29
5. Building for Android 31
Setting up the Android platform 31
Setting up your device 31
Connecting the device to the PC 33
Common issues and solutions 36
Understanding and using ADB 44
Android simulator 49
Targeting Android 32-bit vs Android 64-bit 50
Our first demo application 51
Style 51
View 51
Preparing for deployment 53
The binary files generated for Android 54
Where’s the Release folder? 56
Additional notes 56
Debugging Android applications 57
Signing and deploying the app 57
6. Building for Windows 60
Dealing with EV/OV certificates? 60
EV vs OV 63
My purchase 63
How to use the certificate? 64
What happened after signing my EXE file? 66
7. Building for Apple 67
The hardware hurdle: Apple’s iron grip 67
Use a Virtual Machine (VM) to run macOS 68
Hackintosh 68
Cross-Compilation with a Remote Build Server 68
Cloud services 69
Theoretical approach: SDK emulation 69
Don’t mess with your gods! 69
MacOS 64 vs MacOS ARM 64 72
Mac SDK 72
8. File deployment 75
The Concept of the Sandbox 75
The Anatomy of an App Package 76
The Two Methods for File Extraction 78
Automatic extraction (The “assets\internal” flag) 78
Manual extraction 79
9. Publishing your app in stores 82
Provisioning 82
Publishing on Google Play store 83
1. App preparation 83
2. Submission and review 84
3. Versioning 84
Publishing on Apple App store 84
App preparation 85
Submission and review 85
Versioning 85
Publishing on Microsoft store (optional) 86
Monetization components in Delphi 89
TInAppPurchase 89
TBannerAd 90
10. PAServer and platform profiles 91
How does it work? 91
Install PAserver (on the remote machine) 92
Running PAServer on Mac 93
Configure the environment (locally) 94
Assign a connection profile to the project 97
Choose which files to deploy 99
Deploying the files manually 99
Start debugging 100
Stability 102
11. What’s different in FMX? 104
Key differences between VCL and FMX 104
Architectural differences 104
Scoped enumeration 106
Styling 107
Controls 108
FMX hierarchy 111
Colors 114
Text controls 114
Actions 115
Database grid events 115
Checkboxes 115
Labels 115
TEdit 116
Radio buttons and groups 116
TScrollBox – The Trap of styled containers 117
TListBox 118
Forms 121
Modal forms and dialog boxes 131
New stuff in FMX 144
TLang 144
Common properties 147
Platform services 147
Events 148
3D Components 148
Animation and effects 148
Cross-platform components 149
Gestures 149
Resizing and moving components 149
Release 149
Menu and toolbar components 150
Tree and list components 150
Grid Components 151
Removed Windows-specific components 152
Platform-aware IO 158
Path differences 159
Purpose of the folders 159
Backward compatibility 160
Key differences in usage 160
Practical recommendation 160
12. How FMX works? 163
Component rendering 163
Painting (as in VCL) 163
Composition 164
The FMX presentation layer 165
TStyledControl 166
Presented controls & presentations 167
Registering presentation proxies 169
13. Styles 171
Application wide 171
Loading Styles in an FMX App 171
Style files 172
A toy program 172
Individual styles 174
14. Converting VCL code to FMX 178
VCL components that have direct equivalent 178
VCL components that have direct equivalent but under different class name 179
VCL components that have close-enough equivalent 179
VCL components that do not have a direct equivalent 181
Tools for DFM to FMX conversion 182
MidaConverter 182
ADUG VCL to FMX Converter 184
VCL2FMX 184
AI 186
My Light VCL to FMX converter 187
15. Compiler directives 189
Conditional compilation directives 189
How to use it 191
The new {$IF} Directive 191
Limitations 192
Framework detection 193
Better (very very) late than never 194
Platform detection 195
Delphi edition detection 195
Build configuration detection 195
A word of warning 201
16. Let’s look as some FMX code 203
Capturing photos in FMX: Three approaches 203
Begging for permissions 204
Access via Camera Service (Mobile-Only) 204
Via Take Photo Action (Mobile-Only) 207
Via Camera Component (Cross-Platform, Including Windows) 207
17. Creating a cross-platform library 210
The three-package structure 210
Component registration 213
Handling framework-specific properties 214
18. FMX resources 216
Cross-platform samples 216
Kastri 216
Alcinoe 217
AirParrot 218
19. My books 219
Already published books 220
Next books 220
Source code 221

Scroll to Top