Over the years, we have forged relationships with many ISVs and enterprise teams, and we’ve observed that Delphi-based applications tend to be fairly sophisticated and are, quite often, complete ERPs. Delphi developers are accustomed to having extensive UI tools and plug-ins in the Windows world. However, the Delphi platform hasn’t kept pace in the era of “webified” biz apps, leaving many of its developers scrambling to find a solution.
Too often, the only choice is to start over – the dreaded word: “rewrite”. Most companies look to .Net or other DIY approaches, perhaps not fully appreciating that the leap from a RAD platform to low-level languages and frameworks is a whole different ball-game. In these cases, developers are not just rewriting their business logic and UI, but they also have to build (and maintain) an entire development and deployment stack. Is it any wonder that many of these projects fail?
The Servoy platform is a natural evolution from Delphi to a modern offering, without the need to build the “stack” from the ground up. We’ve been asked, more than a few times if there could be some kind of automated conversion from Delphi to a modern platform; a sort of magic wand. Unfortunately, for sophisticated applications, this is almost never possible, although there are sometimes shortcuts.
But here is what we have seen and done. We see an application as three layers: the database, the business logic layer and the UI. Let’s take each one separately.
So… what should you do? There are, generally speaking, two motivations in-play for two different types of organization. Software vendors need modern (UX-driven) applications in order to compete effectively. Today that typically means Cloud or SaaS and Mobile. Enterprise organizations with in-house or customer-facing applications often have a growing need to support Windows and Mac, and a desire to outsource the “hosting” piece (obviating the need for on-premises infrastructure). There is of course the risk of remaining dependent on “dying” platforms.
Our advice is to establish an MVP (Minimum Viable Product) as a focus of your modernization. Try to define a small product (a subset or single module) that you could deliver independently to your current users/customers or (if you are an ISV) sell to new customers who don’t need the full-feature immediately. There are situations where MVP is not an option. In these cases, a module-by-module approach can be a successful way to quickly build momentum and reduce risk.
But don’t take our word for it! Watch our webinar “From Delphi to Cloud, Web, and Mobile” and listen to two software vendors who have gone through this themselves.