Code X Group

Update

I’ve renamed the group to Code X to more accurately reflect intention – a group for cross-platform coders. A good alternative to FMX for mobile development in Delphi is FGX Native.

Introduction

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:

And just when you think it can’t be done, along comes someone like Jaques Nascimento Jr with his ISComponentes, or YouTubers like {99} coders and prove you wrong.

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:

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s