have an old foxpro2.0 program, looking to migrate the funcionallity and as much code as posible to a current modern compiler. Cuba poped up on my search as a possible solution. Anyone have any luck doing this? Also if i did a convert to cuba, will cuba be around for w10 systems and beyond? W10 did execute my program except fow wlink8 which would not load/run.
while waiting for some official advice regarding your problem, I’ll give my personal point of view, based on my experience.
Visual Fox Pro were a proprietary solution for building desktop LOB applications, based on a VB-like dialect.
CUBA is a Java based framework primarily aimed to developing web-based LOB applications. It has desktop support, but I
haven’t seen so much examples of solutions based on it. In my opinion, it is much more focused on web and, with the new polymer support, mobile-optimized web solutions.
And it’s swing based, and personally I think this is somewhat outdated technology. Even if it has not been officially deprecated, it will never have new features or any love from Oracle anymore. If I had to develop some cross-platform apps in Java, I’ll go for a JavaFX solution.
So, if you plan to convert your app to a web solution, and you already have some intermediate knowledge of Java, then go for CUBA, you won’t regret it.
BUT, if you want to stick with a desktop app, you want to share pretty much the same code between windows, mac, linux and even ios (native ipad/iphone apps) , AND you want to develop in a modern VB like OOP language, then I suggest you to look at Xojo.
See this article: http://developer.xojo.com/migrating-from-visual-foxpro
Xojo adopts a modern VB dialect that should be familiar to you, and it’s pretty stable too. The only downside is that’s not free… if you want to develop commercial cross-platform apps you’ll need to buy a professional license.
I really like CUBA, but I’m recommending Xojo because of your requirements, and because I used it to develop desktop tools…
Hope this helps in your decision,
Migrating from FoxPro to CUBA means rewriting all application from scratch in Java. However, if your database is one of supported by CUBA (e.g. Microsoft SQL Server), you can create data model and CRUD screens automatically.
I agree with Paolo that you should consider CUBA only if you want to convert your apps to web applications. CUBA now supports rendering UI in a desktop client too, but it can be dropped in the future in favor of web apps packed with Electron.
In my opinion switching to CUBA may require more effort from you on the initial stage but can give you more freedom and power in the future if you want to provide long life to your applications.