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

Abstracting the visual part of your apps

The first version of the FMX framework was released in 2011 and already had one of its fundamental features, that is, the rendering of the UI was done completely from scratch, using the GPU. At the time, the GPU already supported technologies such as shaders (https://en.wikipedia.org/wiki/Shader), opening up a way to implement high-quality vector graphics, also considering the CPU growth in terms of computational power.

It became possible to build complex UIs, decorated with stunning effects and transitions, reaching the same appealing visuals typical of technologies such as Flash (the leading technology in modern and good-looking UIs, at the time). Given that WinAPI (thus, the VCL) and the new (at that time) .NET alternatives - Windows Presentation Foundation (WPF) were not covering the capabilities, the development team of FMX saw a great opportunity to build a new framework and, thankfully, they decided to take the chance.

This was the beginning of the framework having the opportunity to control every aspect of the UI implementation, opening the possibility to strongly abstract the UI from platform-specific controls and capabilities, but the number of controls available was limited and the first version of FMX was not really able to catch up with the same level of functionalities offered by the VCL on Windows.

The major new feature added with FMX 2 was bitmap styles: building a rich vector-based UI had a huge impact on performance and, at the same time, it was hard to implement some of the required components and peculiarities of the UIs. Adding the bitmap style capability moved FMX into the position to build effective, good-looking (pixel-perfect was the motto at the time), and performant applications, still keeping strong abstraction (through the style concept).

Even though it may seem a step backward (from pure vectors to bitmap styles), one should consider that most computer graphic evolution over the decades has gone in a direction where bitmaps were a central part of the game, thus most operating systems and drawing technologies are very familiar with bitmap (raster images) handling and have been optimized for that.

In the next couple of sections, we'll explain why the FMX framework is to be considered an application framework rather than a merely visual framework. It is important for you to properly understand that the general approach toward cross-platform application development has a lot to do with the visuals (we are focusing on visual applications), but there's much more to consider.

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