PDA

Click to See Complete Forum and Search --> : User Interface design and migration help


greatchap
Dec 11th, 2008, 11:01 AM
Hello Everyone,

I am a Visual Basic 6 developer. Though for last few years I was not into IT Development line, I started my career in VB6 and its my fav language. I also know a bit of .NET but didnt use it too much.

I have a financial product which a small team of developers made. Its related to stock market and stuff. The product was made in VB.NET 2005.

The primary problem here is that product's coding was not great. Apart from bugs in the application the user interface is also not friendly. The software is not small and due to some limitation in one of the modules used a new one needs to be designed.

I had an earlier version of the same product which was made in VB6. That one is faster and has a better or at least user friendly interface. The reason this one was stopped was because of some bugs and new features which needed to be added so a new version was chosen and a new platform.

Now I need to fix this and was thinking to go back to my VB6 software and fix it a bit and add the new features that was in VB.NET software. But I am confused as to going to a old technology is ok or not. Will it be supported by most OS in the next four years at least. I am not willing to redo everything in .net again and land up with a product that maybe slow but have better UI.

Moreover I want to improve the UI of the software. How can I do that in VB 6. I did some research and most UI tools support .NET.

I know its more of a personal issue but I would be glad if anyone can help me out. Can I get some info on good UI tools (for both VB 6 / VB.NET). Some of the tools out there are pretty expensive and support .net. Or they have so many ocx that its like the software would be distributed with 40 ocx. Seems pretty weird.

Hope to hear from someone and thank you for taking out time and going thru this post.

Cheers,
GR

techgnome
Dec 11th, 2008, 11:13 AM
well, here's the deal... like anything else, use the right tool for the right job. If VB6 seems to work and fit your needs, go for it. But be warned that MS has stopped support of it, there will be no more updates for it, and there's no guarantee that it will keep running on future versions of Windows.

You'll also find there's shrinking support for components for VB6.

My personal recommendation would be to beef up the .NET app... but that's my opinion talking. As for its slowness, you would really have to look into as to why it is happening. It could be inefficienties of the code (which can be corrected) or something is happening that shouldn't (or the reverse, something isn't happening that should be...)

The advantage of .NET is that it's a growing technology, there's a lot of support for it, and new controls and components are being developed for it all the time.

-tg

greatchap
Dec 11th, 2008, 12:54 PM
well, here's the deal... like anything else, use the right tool for the right job. If VB6 seems to work and fit your needs, go for it. But be warned that MS has stopped support of it, there will be no more updates for it, and there's no guarantee that it will keep running on future versions of Windows.

You'll also find there's shrinking support for components for VB6.

My personal recommendation would be to beef up the .NET app... but that's my opinion talking. As for its slowness, you would really have to look into as to why it is happening. It could be inefficienties of the code (which can be corrected) or something is happening that shouldn't (or the reverse, something isn't happening that should be...)

The advantage of .NET is that it's a growing technology, there's a lot of support for it, and new controls and components are being developed for it all the time.

-tg

Thanks for the advice dude. Some of the things that were puzzling me were the dot net versions. Do you think developing an application in Visual Studio 2008 would be better than VS 2005. (I won't be using database). Would there be any remarkable change.

Moreover I am confused between WPF and WinForms. I know Windows Presentation Foundation is new way to design GUI but at times I see GUI controls for WPF and Winforms seperately. Does Windows XP support WPF made application. How different is it to make interface usig WPF.

JuggaloBrotha
Dec 11th, 2008, 01:34 PM
[B]Do you think developing an application in Visual Studio 2008 would be better than VS 2005.Yes, the 2008 IDE has new tools in it to help make the job much easier.Moreover I am confused between WPF and WinForms. I know Windows Presentation Foundation is new way to design GUI but at times I see GUI controls for WPF and Winforms seperately. Does Windows XP support WPF made application. How different is it to make interface usig WPF.WPF is in the .Net framework. Does winXP support/run the .Net framework? Yes it does.

greatchap
Dec 12th, 2008, 01:52 AM
I am just figuring out balance between .net or VB6. Great UI tools are available for .net. But not much for VB6.

I mean .net apps run slower than VB6 ones and this one is slow. So I thought a VB6 application can solve the speed issue. I am trying to figure out should I have a application thats fast but has average UI or an application thats slow but has great UI.

dee-u
Dec 12th, 2008, 02:16 AM
It maybe that the .net app is slow due to poor design and coding. As for VB6.0, have a look at www.vbaccelerator.com, there are slick controls there that you may want to use.

techgnome
Dec 12th, 2008, 08:33 AM
If what you are truly interested in is speed.... then C/C++ is going to be the way to go. The only way to really beat the speed of C++ is to go Assembler, and even then, I don't think it would be much of a difference. However, based strictly on your comments about the state of the .NET version of the app.... I'm inclined to agree with dee-u, it may be related to the poor coding and design of the app.

If you are looking to improve the look and feel of the app, then I would go with .NET and possibly WPF (which takes some getting used to, but does have some features that rock) ... as you've found out, support for VB6 era controls is quickly fading.

-tg

Shaggy Hiker
Dec 12th, 2008, 08:47 AM
I wouldn't even say that ASM would beat out C/C++ these days. Ever since the Pentium processor, compilers may be able to generate code that's more efficient than hand optimized ASM, unless you spend a looooooong time studying instruction timing. However, with any of those languages, you have to consider the time for development vs the performance improvement. RAD languages like VB got that name for a reason.

More to the point: I wrote a complex GA in VB6, then re-wrote it pretty much from scratch in .NET (after the source for the VB6 version was stolen). Being a GA, this was a pretty good comparison of just the languages, as the entire program was processor dependent, with no DB issues, or any other external technologies impinging performance. Unfortunately, GA's also don't run in truly predictable speeds, so no two programs can be compared to a fine degree, even if they are working on the exact same problem. However, the VB6 version and the .NET version ran at about the same speed, in that they both took about two days to reach an answer. Therefore, if you are seeing one as being much slower than the other, then dee-u is probably right that it is just inefficiencies in the coding.

greatchap
Dec 12th, 2008, 12:42 PM
Thanks a lot for your replies. I really appreciate your comments.

After going thru what you all have said and doing some research I have come to a conclusion. My primary area of concern has been speed. I still think that .net app and vb 6 differ in speed. But not as much as I am thinking. This is because my application is not effecient maybe because of poor coding.

I think with efficient and logical coding the difference in speed should reduce. Moreover considering that once i make the application, I need to maintain it. VB6 is fading and dot net is the way2go. Plus with .net I can get superb UI controls which will really play an important role.

I found the discussion about C/C++ kinda amusing. Come on guys, I have knowledge of basic language. Developing a new app in c++ may not be possible. Not only it requires learning new language and stuff, I am developing a speed or some driver or critical application that I need to go that far.

I conclude by thanking you for your views and support. And I hope I am talking the right decision by going ahead with VB.NET.

Jenner
Dec 12th, 2008, 01:15 PM
I think you're doing the right thing. There are many times I wrote routines that took several seconds, or even minutes to run in VB.NET, and then, later, re-wrote them and cut them down to fractions of a second! I'd say, 95% of speed related issues are not the programming language, or framework, but the actual programming itself.

You may want to put breakpoints in your code, and the parts that eat up your time, try to figure out how to improve. Post them up here, we'll all help you out. Especially with VB.NET 2008 having LINQ to slice through and sort large batches of objects and data, it may be much faster than you think. :D

Shaggy Hiker
Dec 12th, 2008, 02:48 PM
One other issue that you might try once you have the bugs worked out, is turning off the checks for Integer overflows. I found that that change boosted speed considerably. Of course, then there aren't any integer overflow checks, but do you really need them?

greatchap
Dec 13th, 2008, 01:02 AM
Sure guys, I hope to work on application code and hopefully things would be allright.