Yesterday Embarcadero announced FMXLinux support. Here is a recap and a short introduction to using it.

RAD Studio Bundles FMX Linux

Yesterday Embarcadero announced with a blog post I published at https://community.idera.com/developer-tools/b/blog/posts/announcing-fmx-linux-bundling-with-delphi-and-rad-studio the immediate availability of FMX Linux for all Delphi Enterprise and Architect customers. In short, you can use this library for building Linux client applications with FireMonkey, with code fully compatible woth other platforms.

You can read the announcement above and also check:

the DocWiki documentation: http://docwiki.embarcadero.com/RADStudio/Rio/en/FireMonkey_for_Linux

the FMX Linux website: https://www.fmxlinux.com/

the press release: https://www.businesswire.com/news/home/20190625005949/en/Embarcadero-Extends-FireMonkey%C2%AE-Cross-Platform-Framework-Create-GUI

FMX Linux Practical Introduction

So how does it work? First you need to use RAD Studio 10.3.1 and download the FMX Linux package from GetIt:

Second, open or create a FireMonkey multi-device application and use the special menu at the top of the Project Manager local menu (with the project selected) -- notice this is a temporary solution needed until we fully enable Linux FireMonkey support in the IDE:

At this point the Linux platform is available in the project target platforms:

Next create an application with a user interface:

Add some code to it:

Build it for Linux, open PASrver on your Linux machine and deploy it (you can also run/debug it if everything is configured properly). From the Linux box, you can use a file manager or a terminal windows to reach the scratch-dir with PAServer artifacts:

Now run the application, as with the command above and you get ti up and running on your Linux desktop:

That's all to get started. For more information and prerequisite on the target machine, read the docwiki information in the link above. In my case, I installed a complete gnome desktop, but that's not strictly required.

Enjoy this new great additional feature, which brings Linux on par with all other platforms Delphi supports!