What is newest platform to convert a massive Windows Forms program to?

jjsather used Ask the Experts™
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.
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Éric MoreauSenior .Net Consultant
Top Expert 2016
I can tell that for now, Windows Forms are not dead. There were some little improvements made lately in VS2017 for it. Microsoft is aware that a lot of applications were written for Windows Forms and they won't just gave up now. MS has metrics on applications created and it is still the most used for new projects and by far!

That being said, WF will not run on Mac!

Have you looked at Xamarin? It is now included into Visual Studio and it will let you create apps for the Mac. But one thing you need to know is that you will need a Mac to compile (this is a limitation of Apple).
Software Enthusiast
I would suggest using a web application. .NET MVC sounds like it would do the trick.

1. Access from anywhere
2. Database backend
3. Lots of web pages equivalent to web forms
4. Well-known technology
5. Scalable


I looked at Xamarin, and while cool, I'm not sure it's suited well for a massive Enterprise app as it appears optimized for mobile apps.

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?
Introduction to R

R is considered the predominant language for data scientist and statisticians. Learn how to use R for your own data science projects.

Éric MoreauSenior .Net Consultant
Top Expert 2016
None of the desktop application types that Visual Studio can produce (Windows Forms, WPF, even the latest UWP) won't run on Mac. So yes, in that scenario, remote access to a Windows machine is your solution.

Xamarin is not only for Mobile. Xamarin comes from MonoTouch and can be used to develop apps for the Mac.

I will let other people answer for the web.
Richard LeeSoftware Enthusiast
ASP.NET MVC is a good option but being the best is up for debate.

If you prefer to stick with the .NET stack then the option to use WebForms is possible. It is an older technology, but in some countries, it is still popular. I would say MVC over WebForms. The emerging .NET Core is a more scalable solution, still MVC, but as it is so immature and requires a greater skillset, I would not recommend just yet.

You can also use the MEAN (mongoDb, express, AngularJs, nodeJs) stack or fragments of it to achieve the same goal. This is a very popular stack. See: http://mean.io/. Quite often AngularJs is used in conjunction with MVC.

Historically if you used .NET you could only run on windows however Microsoft has extended this to support linux and Mac OS as well. See: https://www.infoq.com/news/2015/05/NET-Linux-Mac

I would personally base your choice on the following:

  • You needs
  • How quick you want the solution
  • The skillset available to you
  • The number of users you need to support
  • What sort of user experience you desire (modern or does the job)


We have a small web portal app to some of our data that some customers let their employees use to access and alter data, which is built in ASPX, using WebMethods and AJAX (via straight javascript, not jquery), and uses 3rd party Telerik grids. Assuming we convert it to HTML 5 standards, would it be feasible to simply add onto that, or is that considered older technology?
Richard LeeSoftware Enthusiast
I don't see it as "older technology" but rather "does it fit your current needs and your roadmap for the future". I cannot see any reason that this would be a problem if it fits what you are looking for.

Telerik controls can always be upgraded to the latest version and webforms is perform for in-house applications. It is an easy transition to using jQuery which might be beneficial to using the standard JavaScript.

If the skill is already within the organisation and you don't want to use this project as testing-ground for new tech then I would not advise against it.

Pragmatic approach rather than tech-crazy approach.

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial