Migration of VCL to FMX
Natali Pilko
Co-founder / VP of Strategic Partnership at Softacom - Delphi Experts - We help businesses handle and re-engineer legacy software code
VCL — is the Visual Component Library framework intended for building native Windows applications using Delphi and C++ Builder. VCL has been implemented in Delphi starting from the first version (1995). VCL is still absolutely relevant for up-to-date Delphi versions that support all new Windows 10 features like Windows 10 style, publishing apps to Windows Store, payments, etc.
FMX (Firemonkey) — is a cross-platform framework intended for developing desktop and mobile applications using Delphi and C++ Builder. FMX has been added to RAD Studio starting from the XE4 version. Nowadays FMX framework popularity is increasing with each new RAD Studio version.
That’s why it is so important to have answers to the following 2 questions:
- Should we migrate all our existing projects from VCL to FMX?
- Should we use FMX for all new developments instead of VCL?
At Softacom, we are perform business analysis and risk management before selecting FMX framework instead of VCL. As one small part of our business analysis we use the following questionnaire:
ROI:
- Do we have ROI?
- Do we understand the benefits of migration to FMX?
- Do we have optimistic and pessimistic estimation of money needed?
- Do we have optimistic and pessimistic development time evaluation?
- Which amount of back-office source code do we have to rewrite?
- Have we performed risk management?
Features:
- Which features (e.g. High-DPI support) will we automatically implement if we go to FMX?
- Do we need to have cross-platform support in the future?
- Will we have benefits with FMX if we implement the same features using VCL?
Do we need to re-design all our UI?
- Do we have styles implemented for the VCL version?
- Will we get any benefits after moving to a new FMX styles architecture?
Components:
- Do we have components analogues (usually FMX components are totally not compatible with VCL controls)?
Performance:
- Will GPU app rendering be better than GDI?
Support:
- Does customer have knowledge and expertise for supporting and enhancing FMX application?
That’s even not a full list of questions.
How to migrate?
We have two options for migration:
- Step-by-step migration with continuous delivery;
- One shot migration;
Each of the methods have its own pros and cons, its own risks.
Step-by-step migration with continuous delivery
This type of migration may suit you, if both VCL and FMX forms can coexist in your application that you want to get migrated. In this very case, you will have the possibility to use your applications while the works will be in process.
You should know that this step-by-step migration is a rather time-consuming procedure, even though it allows parallel enhancements. However, the risks are much lower in comparison with one-shot migration. Moreover, with this continuous delivery, the results will be not so obvious and it will be more difficult for you to track them than in case with the second type of migration.
One-shot migration
If we cannot keep VCL and FMX forms or modules in the same application at same time, we have to migrate it in one shot. It means that we won’t have a working application during all the process of migration. One of the main risks of one-shot migration — you won’t have ready software when budget will be empty. As a result, you may found yourself in a situation that your legacy software is not working and you will need to wait until the moment you have enough financial sources to continue your migration.
However, we should admit that in some cases such an approach may help you to reduce the time needed for migration.
Sometimes it’s not obvious which type of migration to choose in this or that situation. Nevertheless, as we have already mentioned, we never start any migration without conducting a complex analysis beforehand.
Before making a decision, we analyze your legacy software itself, its peculiarities as well as the compatibility of VCL and FMX forms within it. We also carefully and attentively estimate all the possible risks associated with both one-shot and step-by-step migration. Only after weighing an enormous number of factors, a final conclusion can be made.
Of course, we can’t say that there is one universal perfect solution that will suit you in any case. All applications are very different. That’s why we always apply a fully individual approach.
At Softacom, our specialists have impressive expertise in working with a wide variety of technologies and their versions, including FMX and VCL. It means that you can always rely on us. Even if your task is not the easiest one, with all the experience, skills and knowledge that we have, it won’t be a problem for us.
We always try to be as far-sighted as possible to offer you a solution for migration of your projects from VCL to FMX that will be relevant not only today but also in a long-term period.