Porting a VFP written software that has been working for years to Servoy

How difficult is it to basically re-write software that was written with VFP 8 It is a feature rich software that is in use for Medical billing.

Hi,

Yes, moving an existing VFP application to Servoy is definitely possible, and it is quite common to modernize older VFP applications by moving them to Servoy.

How difficult it is really depends on the application. If it is a feature-rich medical billing system that has been developed and improved over many years, there will probably be quite a bit of business logic, forms, reports, and other functionality that needs to be reviewed and migrated. It doesn’t necessarily mean everything has to be rewritten from scratch, though. The application can be assessed first and then migrated module by module.

If you are considering migrating the application to Servoy, I would be happy to discuss it with you. I have experience with Servoy application development and modernization/migration projects.

Please feel free to connect with me by email or WhatsApp and we can discuss the existing VFP application, its architecture, and the possible migration approach.

Thanks & Regards
Aijaz Ali
Email: aijazalee889@gmail.com
WhatsApp: +923092803876

Good Question, not aesy to answer without knowing the scope of the app.
It’s a learning curve from FoxPro to Servoy (I ported a FoxPro 6.0 / 9.0 Application 12 years ago), since you need to get familiar with JavaScript, LESS/css, the different deployment, the different way of doing things and you need to get some insights about the sql stuff.
It’s perfectly doable, bit it’s work, like all rewrites.
You should check beforehand, what does your app do, do you need integration via OLE or even DDE (shudder) on the desktop (it’s the “First” app, I assume?), then you are not on the right path, if you can use REST / Graph or other methods to integrate it’s all good.
You could start building one or two forms with some functionality and see if the Servoy way speaks to you.
Also, look into the licensing / pricing to see if it works out for you and your customers.

Hi,

I’ve actually gone through a similar migration, so maybe I can share some experience.

The effort really depends on the size and complexity of the existing VFP application. If it’s a feature-rich application that has grown over many years, I would definitely not underestimate the amount of work involved.

One thing I would recommend is not treating it as a 1:1 rewrite.

A direct 1:1 translation from VFP to Servoy usually doesn’t make much sense. The architecture and the way you build applications are quite different. Instead, whenever you migrate a feature, I’d take the opportunity to look at whether it can be implemented in a simpler or more modern way using Servoy and JavaScript.

The database is probably one of the first things I would think about. Servoy can work with DBF files through database connections, so technically you don’t necessarily have to migrate the data immediately. Personally, however, I would strongly recommend doing a proper migration from DBF to something like PostgreSQL if you’re rebuilding the application anyway. It will save you a lot of headaches in the long run. (Tried that, never again)

Reports are also relatively straightforward to replace, especially if you’re using something like JasperReports or VelocityReports. Of course, very complex existing reports can still require some work.

Before starting, I’d also make some fundamental architectural decisions:

  • Do you still need a desktop application?
  • Should it run in the browser?
  • Is the application mutli-tenant?
  • How should it be deployed and updated?
  • Which parts of the old application actually need to be migrated?

These decisions can have a pretty big impact on how you approach the whole project.

The good news is that the Servoy/JavaScript syntax is not particularly difficult to get into, especially if you’re already familiar with programming. Servoy has its own concepts and a few things you need to get used to, but you can become productive relatively quickly. It is a RAD solution after all.

As Robert already mentioned, deployment is probably one of the bigger things to get your head around when coming from a traditional VFP application. It’s a different way of thinking, but once you’ve understood the model, it becomes quite straightforward.

Just as a real-world example from our side: We had a large VFP application that was originally written in VFP6. One of our developers spent roughly 4–5 years rebuilding it in Servoy. That’s obviously not a general estimate — the project was quite large and feature-rich. This was aprox. 16 years ago, at that time there was alot less information & tutorials around Servoy.

And even after the initial migration, we spent another 1–2 years on refactoring and modernization. A lot of the original FoxPro logic had been written in a way that made sense at the time, but could be implemented much more cleanly with modern JavaScript/Servoy concepts. We also invested a significant amount of time into redesigning the UI to make it properly web-based, modern and responsive, including CSS/LESS and custom components.
VFP → Servoy Smart Client (rip) → Servoy ngClient (rip) → Servoy TiClient (where here now)

So, in short: yes, it is absolutely possible, but I would consider it a substantial modernization project rather than a simple rewrite. The biggest challenge is often not learning Servoy itself, but rethinking parts of the application architecture and deciding what should actually be migrated.

One other thing worth mentioning: Servoy is a relatively small ecosystem compared to something like React, Angular or .NET. You won’t find the same amount of tutorials and Stack Overflow answers. On the other hand, the Servoy forum is quite active, and you can usually get very direct help there. The Servoy team is also quite responsive when it comes to bugs and feature requests.

Hope this helps
-Vik