Now is time to write all for web-based applications? Write web applications is slower than winforms-based applications?
When to write web based and when to write desktop based?
Now is time to write all for web-based applications? Write web applications is slower than winforms-based applications?
When to write web based and when to write desktop based?
You should write all your applications with the logic in a separate layer so that you can easily write a web interface or a winforms interface depending on changing business decisions.
On a more serious note. You should create a web application when you need lots of users accessing and changing lots of shared data. You should build desktop apps when there is very little shared data, or when the sharing of data is simple enough that emailing files back and forth is sufficient. Web applications are usually a lot more difficult to get right, so you should only take on the extra work if necessary. It's a lot more work to to the programming right, and it's a lot more work to maintain the application server and database. However, web applications are instantly updateable, so you can start with something small, and everybody using the application can get new features and fixes as they are finished. So you have to decide which is more important. There are a few trade offs no matter which you choose.
It's like everything - there's a time and a place. You choose the architecture based on the demands of the project. There's no right solution to all scenarios.
I tend to write a web application if I need lots of users with low power machines to access a high performance data store. If I'm writing utility applications to interact with files and such, then I'd write a WinForms application. So it really depends...
Also, if you're writing a highly interactive application that requires a lot of immediate feedback to the user, then it's usually easier/faster to code a WinForms application and it's simpler to maintain... however, the trade off is that it's harder to rollout to a large company where lots of machines require access to that software... so then you need to start thinking about how you could achieve that functionality in a Web Application.
There's no "right" way to do it and no "wrong" way - it's a matter of reviewing the project requirements and evaluating the technology available and making the best decision at the time.
Look at WPF/Silverlight. It solves the problem. And if you have to access something on a client PC then, of course, standalone rules over thin client (at least for now)
I had worked in projects on where both types of applications are needed, it all have to do with your requirements if you don't want to worry about installation and/or client configuration a web based application is what you are looking for, but if the application requires high responsiveness and a lots of calculations then you should think in a WinForm app, as mentioned before layering your application will help you to reuse your code. also is this is going to be a commercial app you should think on the licensing restricctions