I'm working on porting a large vb6 application to .NET. The current app is a desktop app that communicates with a set of local access databases. There are about 200 forms in the application and about 100 tables. The screens are mostly complex. Most show master-detail relationships, lots of rows in embedded spreadsheet and dynamically generated editing controls.
They will port it to .NET. I'm not sure if they will want it web-based or winforms. To me, it seems that the application is better suited for winforms. Thankfully, the access databases will be replaced with sql server regardless of choice.
My reasons for winforms:
- Richer UI.
- Client caching
- Faster development. Winforms is productive for me even though ASP.NET is light years more productive than classic ASP. I would still rather work in winforms.
- Can display more data and spend less time concerned with managing state.
I plan to breakout the business/data layer into a seperate library. The business objects in the library will be able to be used either by the winforms or web app.
I'm thinking that if we port to winforms first and have a clean seperation of UI and business logic, I will be able to reuse the business logic in a web version at a later date. Given the business/data layer is in a seperate library with no UI dependencies.
In the end, it's not my decision to make but I would like to hear your experience moving large windows apps to asp.net.
What was your experience moving a large desktop app to asp.net? How would you approach a project like this? Would you rather port this app to winforms or asp.net? Why?
Thanks! Steve