Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Delphi GUI Programming with FireMonkey

You're reading from   Delphi GUI Programming with FireMonkey Unleash the full potential of the FMX framework to build exciting cross-platform apps with Embarcadero Delphi

Arrow left icon
Product type Paperback
Published in Oct 2020
Publisher Packt
ISBN-13 9781788624176
Length 546 pages
Edition 1st Edition
Languages
Arrow right icon
Author (1):
Arrow left icon
Andrea Magni Andrea Magni
Author Profile Icon Andrea Magni
Andrea Magni
Arrow right icon
View More author details
Toc

Table of Contents (18) Chapters Close

Preface 1. Section 1: Delphi GUI Programming Frameworks
2. Introducing the FireMonkey Framework FREE CHAPTER 3. Exploring Similarities and Differences with VCL 4. Section 2: The FMX Framework in Depth
5. Mastering Basic Components 6. Discovering Lists and Advanced Components 7. Using FireDAC in FMX Applications 8. Implementing Data Binding 9. Understanding FMX Style Concept 10. Divide and Conquer with TFrameStand 11. Building Responsive UIs 12. Orchestrating Transitions and Animations 13. Section 3: Pushing to The Top: Advanced Topics
14. Building Responsive Applications 15. Exploring Cross-Platform Services 16. Learning about FMX 3D Capabilities 17. Other Books You May Enjoy

Back to the metal

Each strong abstraction can easily become a golden cage for its user. This also applies to software development and frameworks where you may obviously like the fact the framework is hiding the complexity underneath and providing a simple, clean, and comfortable place where the developer can live with fewer worries with respect to a more raw approach where everything is the developer's responsibility (embracing the subsequent complexity as much as they can afford).

At the same time, this kind of safe playground (always) has some boundaries and the developer can sometimes reach one of these boundaries and will go (or need to go) further.

Delphi always shined in this, letting you stay warm and safe with your VCL components wrapping Windows controls but, at the same time, letting you directly call whatever external function was available, including, of course, all WinAPI functions. When coming to FMX, as I said, I considered it to be more than a visual framework but rather an application framework; this is still true because, even if you can’t handle FMX controls using APIs designed for native controls, you can still have your FMX (and RTL) Delphi code with platform-specific calls to the underlying APIs of the currently running OS.

This means you (from your Delphi code) can call any iOS library functions (as you would do in Objective-C or Swift). The same applies to Android where you can wrap (there is the Java2OP tool available for Embarcadero’s registered users) the Java code you want to reach into Delphi classes and functions and have it available for your application developer. Even though this may seem like a kind of last refuge for the developer, it also represents a guarantee that your framework (FMX) is not closed and you are actually able to get back to the metal as much as you like or need.

For example, it is not unusual, when writing Android apps on custom devices (that is, those including industrial-level optical or NFC/RFID readers) to have the manufacturer of the device provide it with a standard Android OS image with the addition of some external JAR files with the libraries needed to properly interface with some device-specific features. Also, it guarantees that if Embarcadero is not providing you this or that API wrapper, you may proceed and generate it (manually or with a tool such as Java2OP) without having to wait for official support for that functionality.

In the next section, we'll try to consider the good and the bad coming from the peculiarities of the FMX approach.

You have been reading a chapter from
Delphi GUI Programming with FireMonkey
Published in: Oct 2020
Publisher: Packt
ISBN-13: 9781788624176
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime