Writing Software for Multiple Platforms and Architectures with FireMonkey
[SHOWTOGROUPS=4,20]
Jon Lennart Aasenden
3/3/2020
When developers think about Delphi or C++Builder, the power of the Visual Component Library (VCL) is typically the first thing that comes to mind. If there is a factor that has been instrumental to the success of both Delphi and C++Builder, it is without a doubt the VCL.
The VCL is by far the best way to write desktop applications for Microsoft Windows. Regardless of language or company affiliation, there is no doubt that when it comes to Windows software development, nothing beats the VCL.
But developers today are not limited to just the Windows platform.
Above: Data by StatCounter - Для просмотра ссылки Войдиили Зарегистрируйся - CC-BY-SA 3.0 Unported license
Enter FireMonkey
FireMonkey (FMX) is not just a modernization of the VCL, but rather a completely separate and unique framework for building multi-platform applications. It shares some architectural ideas that helped make the VCL a success, but beneath the surface it’s a completely different engine. One that was written from scratch to be platform independent.
FMX is by far one of the best “write once, deploy everywhere” software development system on the market, and that’s not hype. The impressive list of success stories and businesses created with Embarcadero technology has merit to spare.
Above: Delphi offers a lot of powerful functions, such as Livebindings (see picture above), that simplify and speed up software development. FireMonkey was designed to operate with these features out of the box, both for desktop and mobile applications.
GPU powered graphics
One of the more unique features of FMX is how it deals with graphics.
Instead of relying solely on the host operating-system to deal with the user-interface, FMX was designed to tap into the GPU (graphical processing unit, a vital part of modern graphics cards and architectures) and potentially render the user-interface on its own.
But FMX is not limited to this approach alone.
It can also tap into the underlying operating system, both desktop and mobile, so that your applications seamlessly integrate with the platform look and feel. It uses platform services to adapt the behavior to the current platform. Additionally, certain controls, like the text edit box, can be rendered by the platform OS instead of with the FireMonkey style engine. This guarantees that your application behaves in a way that is consistent with the expectations of your customers.
3D operations
One thing that is completely unique for FMX, is that it embraces 3D graphics by design. Most frameworks have a distinct separation between 2D graphics and 3D graphics, with the latter traditionally isolated in a separate framework or companion package.
Since FMX has 3D graphics built into its very core, all visual components can be positioned in 3D space. You can skew, rotate, scale and perform a variety of graphics operations and filters on the user-interface itself.
Above: Since FMX has 3d as one of its core design principles, writing 3D capable software in Delphi and C++Builder is a lot easier than with other software development systems.
You might wonder what possible benefits 3d could bring to a business application, but intrinsic support for 3D operations on framework level can hold tremendous value for data presentations and reporting. It also simplifies the task of delivering a vibrant, modern and responsive user interface experience for Embedded and IoT applications.
And of course, it gives you an edge when it comes to multimedia and entertainment software.
[/SHOWTOGROUPS]
Jon Lennart Aasenden
3/3/2020
When developers think about Delphi or C++Builder, the power of the Visual Component Library (VCL) is typically the first thing that comes to mind. If there is a factor that has been instrumental to the success of both Delphi and C++Builder, it is without a doubt the VCL.
The VCL is by far the best way to write desktop applications for Microsoft Windows. Regardless of language or company affiliation, there is no doubt that when it comes to Windows software development, nothing beats the VCL.
But developers today are not limited to just the Windows platform.
Above: Data by StatCounter - Для просмотра ссылки Войди
Enter FireMonkey
FireMonkey (FMX) is not just a modernization of the VCL, but rather a completely separate and unique framework for building multi-platform applications. It shares some architectural ideas that helped make the VCL a success, but beneath the surface it’s a completely different engine. One that was written from scratch to be platform independent.
FMX is by far one of the best “write once, deploy everywhere” software development system on the market, and that’s not hype. The impressive list of success stories and businesses created with Embarcadero technology has merit to spare.
Above: Delphi offers a lot of powerful functions, such as Livebindings (see picture above), that simplify and speed up software development. FireMonkey was designed to operate with these features out of the box, both for desktop and mobile applications.
GPU powered graphics
One of the more unique features of FMX is how it deals with graphics.
Instead of relying solely on the host operating-system to deal with the user-interface, FMX was designed to tap into the GPU (graphical processing unit, a vital part of modern graphics cards and architectures) and potentially render the user-interface on its own.
But FMX is not limited to this approach alone.
It can also tap into the underlying operating system, both desktop and mobile, so that your applications seamlessly integrate with the platform look and feel. It uses platform services to adapt the behavior to the current platform. Additionally, certain controls, like the text edit box, can be rendered by the platform OS instead of with the FireMonkey style engine. This guarantees that your application behaves in a way that is consistent with the expectations of your customers.
3D operations
One thing that is completely unique for FMX, is that it embraces 3D graphics by design. Most frameworks have a distinct separation between 2D graphics and 3D graphics, with the latter traditionally isolated in a separate framework or companion package.
Since FMX has 3D graphics built into its very core, all visual components can be positioned in 3D space. You can skew, rotate, scale and perform a variety of graphics operations and filters on the user-interface itself.
Above: Since FMX has 3d as one of its core design principles, writing 3D capable software in Delphi and C++Builder is a lot easier than with other software development systems.
You might wonder what possible benefits 3d could bring to a business application, but intrinsic support for 3D operations on framework level can hold tremendous value for data presentations and reporting. It also simplifies the task of delivering a vibrant, modern and responsive user interface experience for Embedded and IoT applications.
And of course, it gives you an edge when it comes to multimedia and entertainment software.
[/SHOWTOGROUPS]
Последнее редактирование: