Our company has a very large flagship Windows Forms VB.net program (35 meg) written in Visual Studio 2015. Management wants it re-written as there is concern that Windows Forms are going away. Plus, many of our customers don't want to house the product, but want it on the cloud to access from anywhere, including Macs. So as a short-term solution, we house about 25% of customers on virtual servers that they can remote into from any machine -- Windows and/or Macs.
The product is basically a data entry monstrosity, containing over 1000 forms, chocked full of tabs, 3rd party controls (including over 500 Infragistics grids), and a report creation interface with over 500 reports (done via ActiveReports, including 100's made by customers). Sadly, the business layer is not reusable as it became infused with control references, including 3rd party controls. Obviously, this is a very daunting re-write, so the question is, what's the next best platform for Windows Forms programs like these?
For a moment, let's shoot for the moon and assume we can re-write it to run directly from Windows and Macs. For that I assume we need to write it as a web product for browsers... or maybe as some type of app? If so, what are the best tools and/or structure we should learn? Otherwise, if we're content to run only in Windows, is WPF the way to go, or is it also dying, as I've read in places? If so, is there something newer and better... or does that take us right back to the browser option and HTML 5?
We'll take any advice. I know many say Window forms aren't dead. Even so, they surely will be 10 years from now, right? We're trying to think long-term here.
Suppose we remained with Windows Forms. For Mac users to access it, is remoting into a virtual Win machine with the product installed the only way they can get to it?
On the other hand, if we want it fully cross-platform, it appears web is the only answer. In which case, is MVC the best? What are the other options? And what are the cons of going with web?