We become just by doing just actions, temperate by doing temperate actions, brave by doing brave actions – Aristotle
For anyone interested, I’ve just started a Facebook Group named Fmx Developers, you are most welcome to join. The group is for developers who’d like to discuss all things mobile, especially but not limited to FMX. Opinions are welcome, and discussion of different technologies is encouraged. It is not an echo chamber, we can learn a lot from different perspectives.
To be honest, I was close to walking away from FMX, it has a number of known issues and performance problems. However, there’s something about programming in Delphi, I just can’t bring myself to walk away from it. I have developed in Xamarin and Flutter before, and enjoyed using both frameworks. But for me, there’s something special about Delphi – perhaps it’s nostalgia, Delphi was one of my first coding jobs during a very happy period of my life.
I thought I’d open the group celebrating what the community has achieved in FMX, and some of the positive things that Embarcadero has been able to accomplish recently.
FMX is Awesome
In the last few years, FMX has improved by leaps and bounds. Many of the performance issues have been mitigated, and a number of problems have been addressed. Although there’s still room for much improvement, it is possible to deliver quality cross-platform solutions.
It can be a bit of a challenge at times, often requiring creative workarounds to get the job done, but in spite of the difficulties, programming in Delphi can be really enjoyable. For Windows, there’s nothing better. For cross-platform desktop development, FMX is a good choice. It amazes me what people have achieved, applications like Lumicademy and KisKis are incredible:
Again, fantastic work from IDI Evolution:
There are a lot of very smart and talented developers using Delphi, and for good reasons.
Personally, I prefer using an event based approach rather than reactive, and the simplicity of the UI Designer as opposed to writing streams of XAML, XML, or Dart code. FMX has incredible potential, the way you can compose layouts, or position controls relevant to their parent etc. is awesome. You really can use a single code base for many types of applications, and if you do need to make adjustments for different form factors, you’re still reusing a huge amount of the codebase.
It’s also important to consider the positive aspects of the marketing and promotion done by Idera. Thanks to their efforts, Delphi is now in the hands of hundreds of thousands of students in South Africa and Turkey, and if I remember correctly, they are looking to expand into Europe. This is fantastic. The work in spreading Delphi knowledge through their Blog, LearnDelphi, and the many webinars is commendable. I remember fondly the FMX boot camp a few years ago.
Emba has also done a lot of essential work, such as the removal of ARC, embracing SQL Metal, introducing the LSP, optimizing the RTL, improving the Parallel Library, providing compilers for a constantly shifting playing field, improving compilation speed, adding professional styles, etc.
In fact, the community itself has done a great job in writing Delphi books, producing YouTube content, as well as creating videos and courses on topics ranging from Object Pascal through to MVC web development. Very encouraging to see.
Finally, it’s worth pointing out that FMX is actually a great option for game development, as demonstrated here by the excellent Rise of Legions:
And Idle Wild West: