- Speed of application
- Size of application
- Report spooling
- Client to server data transfer
On all of the issues you enumerate, I have to say that .NET is a much better solution than VB6.
- Performance is much better as code ultimately gets compiled to the native platform and .NET was designed for performance. Microsoft has many real-world examples that show the performance and scalability of .NET.
- As far as size goes, you could be concerned with resource utilization (memory) or the amount of code. As far as resources, VB.NET is similar to VB (and maybe a little heavier for small apps). Part of this footprint is due to the automatic memory management built into .NET, but that is one of the reasons .NET applications exhibit good performance. As far as code goes, you'll write much less code in VB.NET than VB6 since the .NET platform has much more built into it.
- VB.NET is designed with asynchronous operations in mind and it's very easy to develop spooling type operations.
- ADO.NET (which you'll likely use to provide access to the database) is designed for ease of development with optimal access to data.
Given what I've said above, what is not easy or straightforward is the migration from VB6 to VB.NET. If you were starting over, I'd say go for it with expectations of having a learning curve in front of you but better applications being rapidly developed in the future. Learn VB.NET first (it's very different from VB6), and a rewrite should easily follow. If you seek to migrate your code base instead of starting over from scratch, I have to say: Proceed with caution and first do the research on VB6 to VB.NET migration. You can simply Google VB migrate .NET to find a great deal of resources or go straight to Microsoft's migration page.
Ultimately, you are developing for a different platform: VB6 targeted the Windows platform, while VB.NET targets the .NET platform. They are different (even though .NET primarily sits on top of Windows), so you really need to learn the new platform to have the transition go smoothly.
If the benefits of the added functionality and performance you seek in the long run (keep in mind this will be true for all future apps developed in VB.NET) are worth the learning curve you'll have in the short term, then it's probably worth it to switch over. My guess is, if you are careful, that it will be worth your while to switch.
This was first published in April 2004