DEV Community

Discussion on: What would you do?

Collapse
 
jfrankcarr profile image
Frank Carr

VB6...

Nah, just kidding...

I'd suggest Visual Studio and C# but where to go from there really depends on the app(s) to be developed and the time frames involved.

Winforms applications can be created quickly, have near automatic backward compatibility with Windows XP to Windows 8 (if that's needed) and are quite easy to understand when written right. The problem is that it is easy to write a bad application with it and end up with a huge mess.

WPF is a little more tricky since it mostly requires writing applications using the MVVM pattern. So, if you aren't familiar with that it is a bit of a learning curve. On the flipside, if you're comfortable with separating UI from backend, this may be a good fit for you. Backwards compatibility is occasionally an issue, depending on what the app is doing. Going forward, it is likely that WPF will work better in .Net Core 3.0.

On the backend, I'd recommend developing a Web API to serve the data rather than tightly coupling the database to the application. This isn't always possible but it has become a lot more practical now. In my work in manufacturing applications, we are in the process of moving all data access to Web API, leaving only the UI and connectivity to hardware devices (barcode readers, scales, etc) to the front end.