Inside Data 56

by Graham Keitch

Graham Keitch explains how Embarcadero RAD Studio XE2 can bring your data to life across multiple platforms.

HardCopy Issue: 56 | Published: May 1, 2012

Business applications running on Macs and mobiles are being deployed to such an extent now that developers can no longer confine their vision to a single platform. The latest portable devices are raising expectations of extended and simplified access to data together with an enhanced user experience that is challenging our traditional Windows applications. One publisher in particular is helping to ensure that the development of graphically rich, multi-platform applications is feasible for a broad set of developers including those entrenched in the worlds of Windows and .NET. The publisher is Embarcadero and the technologies which are packaged in its RAD Studio XE2 include compilers for Windows 32 and 64-bit, native Mac OS and iOS.

FireMonkey is a key feature of the new release. This is a native CPU and GPU powered abstraction layer for UI features such as windows, menus and toolbars which raises the bar for the presentation layer by delivering a new generation of multi-platform components that go beyond the capabilities of other application frameworks. It includes a full suite of reusable components for HD and 3D user interfaces together with effects and animations that can significantly enhance the way we visualise and interpret data. This is particularly important as we become more reliant on an ever increasing amount of data, both inside and outside of the office.

3D Rendered table

A table is rendered in 3D and displays an image associated with the selected record.

RAD Studio XE2 also introduces a data binding technology known as LiveBinding which can be used with both FireMonkey and traditional Embarcadero Visual Component Library (VCL) projects. LiveBinding allows you to connect any type of data source to any UI or graphic object. These two technologies help improve data access and representation.

FireMonkey’s rich graphics capability results partly from its powerful vector engine which is similar to Adobe Flash and Microsoft Windows Presentation Foundation (WPF). The engine permits real-time, anti-aliased vector graphics to enhance realism and alpha blending for translucency effects. There is a WYSIWYG designer, property editor and advanced skinning engine based on vector graphics styles with sample style themes. Shape primitives are included together with brushes, pens, timers and other tools for handling geometric and transformational tasks that help bring data to life.

The old adage that a picture tells a thousand words is particularly true in the case of data but, until now, multi-platform applications have had to make do with static and rather uninspiring histograms, pie charts and line graphs. FireMonkey allows us to view data in a vivid three dimensional space with the added bonus of animation and other effects that help us to interpret the data. The user experience is consistent across platforms which is helpful as we move from one device to another during the course of the day. A typical worker today might use a mobile to gather data while commuting to work on the train, a PC or tablet in the office and perhaps a Mac once they get home.

FireMonkey is also well equipped for data operations that involve heterogeneous databases. It includes component based, high performance native access to Microsoft SQL Server, Oracle, IBM DB2, MySQL, Sybase, Informix, InterBase and Firebird databases.


LiveBinding expressions

Together, FireMonkey and LiveBinding allow you to connect any type of data source to any UI or graphic object. LiveBinding uses relational expressions that encompass control and source objects. Binding expressions allow a source object to be bound to itself or to any other control object. You define a binding expression that involves one or more properties of the objects you want to bind together. This can be very powerful, allowing a control to update another based on the expression that binds them. Similarly, you can connect to a database and alter the properties of different objects.

LiveBinding supports propagation and can be managed or unmanaged. Managed bindings are automatically evaluated when an object or a property in the input expression is modified. By contrast, unmanaged bindings are always explicitly evaluated.

Visual Studio developers can use existing skills and some existing code to access the multi-platform world through RAD Studio XE2. Native Windows applications written in Delphi and C++ can be migrated for multi-platform deployment with ease, although the situation is less straightforward for .NET projects coded with C#. In this case, FireMonkey can be used to modernise the presentation layer and to create DLLs that can be called from the C# program. The new RAD Studio XE2 technologies can be deployed now on projects involving new or migrated applications or on those parts of a legacy system which need updating to provide multi-platform support and a richer user experience.