Modernisation is a hot topic for many developers. Yet Delphi, celebrating 23 years, has many great “legacy” applications going back to the likes of Delphi 7. Whilst it says a lot about the quality of Embarcadero’s development frameworks, eventually some apps are just too old, and cannot keep up with the needs and requirements of users and modern apps. Many developers are moving to the latest versions to create modern and exciting products, taking advantage of and integrating with the latest technologies to meet these needs. But how can you modernise your Delphi apps? Embarcadero suggests the following:
Update the UI
Creating a compelling argument for a UI update to be included within a modernisation project can be hard. Some developers aren’t so bothered about the look and feel of an application and are more concerned about the functionality. However, if you do update the UI, the impact could be surprising. It would please end users, particularly users that want the app to look up-to-date and more appealing to the eye, not old-fashioned and bland. A refreshed UI could increase profitability and a more positive user experience. This is especially the case for Delphi apps that come with the “inherent” legacy bias. Luckily, implementations are a lot easier thanks to the updated VCL and FMX tooling. But it takes time to do this properly and effectively.
FMX is one of the great benefits of Delphi. Smartphone adoption is increasing and so will the relevance of FMX. Those that are familiar with VCL will find FMX development easy to wrap your head around. There are a few styling and behaviour differences, however the productivity is great. Historically, mobile apps were outsourced as a package, but this is changing – Delphi teams can build mobile apps using FMX. You don’t need to recreate your old app with FMX, however it is important that you build meaningful mobile extensions. Making your app mobile compatible will help with ensuring your app is more modern. Some research suggests that within the UK alone the average daily time spent on smartphone by 2019 will be 2.14 hours, and other research suggests that the number of smartphone users worldwide will reach 2.53 billion by the end of this year. And that’s not surprising considering there were 197 billion mobile app downloads worldwide in 2017 alone.
Architecture is not easy. Software development is so vast that even great developers don’t know all areas. Therefore, making architecture changes like moving a desktop app to multi-tier can be a learning experience, even for the most accomplished developers. But it is also great to learn or seek assistance from outside support.
Embarcadero aim to make architectural transitions a lot easier for their customers. For instance, RAD Server comes with excellent support features for multi-tier architecture. Depending on how it is built, it is not necessarily a daunting task to rethink an old app into a multi-tier one. Once you’re deeper into the project, you’ll find the effort is a lot less than expected. Bear in mind that it is a lot less expensive than re-platforming with a completely different language like Java. The best approach is to start small and work in modules as much as possible. Plus, don’t rush to lose the VCL client as the speed it can deliver cannot be replicated, particularly in sensitive environments where even seconds matter.
There are many ways in which you can utilise Delphi to make your app more suitable for the web. You can create a tiered app and build an independent Web Client. Embarcadero recommend that you use Ext JS, especially as it is part of the family (thanks to Idera’s acquisition of Sencha). However, there are plenty of other good web client technologies. Alternatively, if you want a faster approach then you could use a tool like UniGui. This tool leverages Ext JS to build a Web Client, following a VCL-like approach. It doesn’t always work for everything but is productive and fast. You can quickly create a module of your app and show how Delphi can work speedily and efficiently with the Web. Thanks to the Windows connection, many Web interfaces to Delphi apps are built with .NET. Though that of course works, the new JS technologies and Embarcadero’s latest experience means there’s a great experience with the speed and flexibility with JS.
There are some excellent integration frameworks and components in RAD Studio. Other technologies typically struggle or face challenges with integration, yet Embarcadero can do so easily, and quickly too. A large percentage of Embarcadero customers have adopted FireDAC according to their recent product survey. One suggestion for making your modern app more integrated is to display an inventory from the ERP or feeding into it. Embarcadero’s Enterprise Connectors work well and are based on the FireDAC framework. Embarcadero even use them internally to create an Ext JS portal to their SFDC.
Via RAD Studio, Delphi supports many new capabilities such as Beacons, the Woll 2 Woll mobile editor and Push notifications. Surprisingly Embarcadero has found that their customers rarely use the Windows 10 features. These are included for free in the Enterprise edition. The mobile editor can accelerate the mobile apps development dramatically. Considering that a lot of internal Delphi apps deal with location data capture, it’s a nice and easy feature to include. Plus, the great thing about Delphi is that it doesn’t cost you hundreds of thousands to innovate.
Overcome the Legacy Argument
It is often perceived that Delphi is legacy. It is worth considering that Delphi today is one of the larger commercial ecosystems. Furthermore, Delphi is one of the fastest, functional, easy-to-use development tools out there. Embarcadero’s VCL framework provides the most native support for Microsoft Windows. The popularity of FMX is increasing, particularly for Android development, thanks to its native cross-platform support. If you’re looking to manage technology risks, then VCL and Delphi are probably some of the safest options available, compared to some of the trendy technologies and frameworks that you might come across – just speak to a developer who’s gone through the several iterations of Angular or spent a hefty amount on a Java migration. The combination of a very productive language that’s reusable and works with flexible front and back-ends sees Delphi as a strong technology contender.
Modernisation is not just about the technology, it is about the perception too. Many argue that there are not many trained Delphi resources around. Unfortunately, there are fewer skilled Delphi developers than other popular technologies. Outsourcers are particularly negative about these tools as the productivity often goes against their business model – why sell you 5 Delphi developers, when I can sell you 50 Java developers. But that’s a positive – it’s great that you don’t need that many Delphi developers. Think of the cost, HR, workspace and other hassles that it could save.
If you need to brush up on your skills or train a new team, both Grey Matter and Embarcadero are working together to run more Delphi events to help developers keep up-to-date with any changes and inform you how to modernise your Delphi applications. Embarcadero also continue to develop the Embarcadero Academy with additional course options and content. They have found that senior developers pick up Delphi pretty quickly.
If you’d like to find out more about the Embarcadero developer tools, the upcoming Delphi events or any other information, please contact Grey Matter’s Embarcadero team: Call +44 (0)1364 655123 or email firstname.lastname@example.org.
Plus, get in touch if you’re creating some amazing modern apps that we can share with other readers.
Modernize Your Apps, by Atanas, February 2018
Why you need to redesign your app to increase profitability, by Natalia Kharchenko, February 2018
Smartphone use headed for a new milestone in the UK, by eMarketer, September 2017
Number of smartphone users worldwide from 2014 to 2020 (in billions), Statistca
Number of mobile app downloads worldwide in 2016, 2017 and 2021 (in billions), Statistica