Paul Dardeau 5 Posted March 12 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
havrlisan 35 Posted March 13 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! 4 Share this post Link to post
Die Holländer 83 Posted March 13 Youtube Embarcadero: Best practices and top tips when developing mobile apps. Share this post Link to post
Patrick PREMARTIN 121 Posted March 13 (edited) 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 March 13 by Patrick PREMARTIN 3 Share this post Link to post
corneliusdavid 242 Posted March 13 12 hours ago, Paul Dardeau said: interested in learning how to make a cross-platform desktop application (windows/macos/linux). My existing Delphi knowledge is completely VCL oriented Thank you, @havrlisan, for the plug for my book. I wrote that specifically for the Delphi programmer who already has VCL experience and wants to leverage their knowledge to expand to other platforms. I also have Andrea Magni's book and it's an excellent deep-dive into understanding and working with Firemonkey. Be aware that Linux development with Delphi requires at least the Enterprise version and does not officially support Firemonkey (yet). 2 Share this post Link to post
Paul Dardeau 5 Posted Wednesday at 09:30 PM Thank you all. I ordered both of the books that were recommended. Quick question while I'm waiting for the books to arrive -- which FMX component is the closest match to VCL's TListView in report mode? Thanks! 1 Share this post Link to post
Serge_G 91 Posted Thursday at 07:31 AM (edited) IMHO it's FMX.TListBox, but I think you will quickly need to create style for the item presentation. If French reader, can I suggest a tour to my little site (I had to update soon) Edited Thursday at 07:36 AM by Serge_G 1 Share this post Link to post
Paul Dardeau 5 Posted Thursday at 01:19 PM 5 hours ago, Serge_G said: IMHO it's FMX.TListBox, but I think you will quickly need to create style for the item presentation. If French reader, can I suggest a tour to my little site (I had to update soon) Hi Serge, Thanks for the reply. I would love to read your site but unfortunately I'm not a French reader. It's really sad because French was the first language for all 4 of my grandparents and both of my parents were fluent in French. French was not passed down to my generation and it's very unfortunate. I'm originally from South Louisiana where French is largely dying out. Share this post Link to post
Die Holländer 83 Posted Thursday at 01:23 PM 4 minutes ago, Paul Dardeau said: I'm not a French reader. Right-Click on the webpage and "Translate to .....". (or where your browser has this option) Share this post Link to post
Patrick PREMARTIN 121 Posted Thursday at 03:54 PM 2 hours ago, Paul Dardeau said: Hi Serge, Thanks for the reply. I would love to read your site but unfortunately I'm not a French reader. It's really sad because French was the first language for all 4 of my grandparents and both of my parents were fluent in French. French was not passed down to my generation and it's very unfortunate. I'm originally from South Louisiana where French is largely dying out. Developpez.com blocks some external site like Google Translate. Only the translation included in the web browser can work. Share this post Link to post