Jump to content
Paul Dardeau

FMX learning resources?

Recommended Posts

Hi, I know nothing about FMX (except that it exists) and would like to learn a little about it. At this point in time, I'm only interested in learning how to make a cross-platform desktop application (windows/macos/linux). My existing Delphi knowledge is completely VCL oriented. Any recommended resources?

 

Thanks!

Share this post


Link to post

For starters, I recommend reading two FMX-related books:

  • "Delphi GUI Programming with FireMonkey" by Andrea Magni, and
  • "Fearless cross-platform development with Delphi" by David Cornelius.

Together, they cover the most important parts of how FMX framework functions, and they both write about similarities and differences between VCL. I suggest you also play around and discover the RAD Studio Multi Device Samples, since they contain good chunks of code and UI components to see how to interact with FMX. If you have multiple devices with different platforms (Android, iOS, macOS), make sure you try the apps on all of them, to see how the deployment and functionality works across different platforms.

 

As you start using FMX, I strongly recommend working with skia4delphi in every project. It is already integrated into FMX, but make sure to enable it in every project as it increases performance and provides you a ton of features that are missing in the stock FMX (such being Svg/Lottie support and right-to-left text).

 

Good luck! 

  • Like 2

Share this post


Link to post

Hi

 

In general FMX works like the VCL for desktop platforms. The main differences are :

- positions are single instead of integer (position.x, position.y instead of Top/Left)
- Text replace Caption property everywhere (instead of for a TForm)

- each visual component is a container

- many more alignments than for VCL components

- the components are styled and can be completely changed with styles (but don't try that to start).

- no TDBxxx components, use LiveBindings to link data to visual components

- for macOS the first option of the TMainMenu is fusion with macOS App menu, add an empty one (and hide/remove in FormCreate it if its not macOS) if you want the classic "file" option

 

To debug / deploy to macOs you need a Mac available locally or on Internet and PAServer installed on it.

 

I've done many things on FireMonkey with a lot of open source projects on GitHub (not only games 😉 ). Replay videos (in French) of my Twitch live coding streams are available, but you can check this series (the page is in French, the videos are in English) : https://apprendre-delphi.fr/coding-bootcamp-2023.html

 

To the books list I had the "Delphi Programming Projects" from William Duarte.

 

For other samples then the ones available with Delphi you have this code repository https://github.com/FMXExpress/Cross-Platform-Samples and some others I've listed on https://github.com/DeveloppeurPascal/Delphi-samples/blob/main/OtherDelphiSampleRepositories.md

 

If you have a first project to create, give us some tips, we will find the available resources around it.

Edited by Patrick PREMARTIN

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×