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

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.
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Éric MoreauSenior .Net ConsultantCommented:
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).
Richard LeeSoftware EnthusiastCommented:
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

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
jjsatherAuthor Commented:
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?
Learn SQL Server Core 2016

This course will introduce you to SQL Server Core 2016, as well as teach you about SSMS, data tools, installation, server configuration, using Management Studio, and writing and executing queries.

Éric MoreauSenior .Net ConsultantCommented:
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 EnthusiastCommented:
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)
jjsatherAuthor Commented:
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 EnthusiastCommented:
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.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
.NET Programming

From novice to tech pro — start learning today.