Why RapidEE 10.0 was rewritten
Why RapidEE moved from Delphi to C# and .NET 10 after nearly two decades.
RapidEE began in 2007 and was written in Delphi for almost its entire history — that code survived several generations of Windows.
Over the years the project went through five generations of Delphi — 7, 2007, 2010, XE2 and, finally, 10.2 Tokyo. Each move meant a substantial update of the project and another round of compatibility checks for third-party components.
And there were quite a few: Virtual Treeview for the main tree, Toolbar2000 and SpTBXLib for the interface, GNU gettext/dxgettext for localization, madExcept for crash reports, FastMM4 for memory diagnostics, DSiWin32 and PNGImage for system functions and images. Some of these libraries hadn’t been updated in a long time, and maintaining the whole set kept getting harder.
The sixth migration we didn’t survive
Gradually, updating the old environment and components turned into a separate task barely related to developing the program itself. So for the tenth version I decided not to port the old project once again, but to essentially rewrite RapidEE from scratch.
The 10.0 number reflects the scale of the changes — and also symbolically coincides with the .NET version.
Moving to online services
RapidEE translations were always done through .po files: to contribute, you had to install a dedicated editor and work with files manually. That was fine back then, but today it would be strange not to move to an online service.
I looked at Crowdin, but it seemed too complicated and confusing for this project. At first I chose Localazy — its interface is noticeably simpler and clearer for translators. Later I moved to Tolgee; for the reasons and the services I tried, see Why Tolgee for translations.
The website had to be rewritten too: nearly 20 years had passed since it was made. Different tools, different styling.
In the end, the entire online part is delegated to services that handle it well: GitLab Issues for questions and bug reports, Tolgee for translations, GitLab Releases for storing releases and downloads.
What came of it
Sorry for the long wait. I hope the new version is faster, more stable, and more convenient. Thanks to everyone who used RapidEE, translated the program, and supported the project all these years.
In the next post I’ll go into detail about what exactly changed in the program — what was added, what improved, and what’s gone.
Download RapidEE 10.0 or explore the full release history.
RapidEE
By