That's why I'm happy to write About Visual Web Gui, as part of an ad campaign on this blog, which only involves software that I think is worthwhile to begin with. Wanna see it in action and then read about it? click here to see what it can do.
Visual Web GUI developed a solution that basically allows you to code your program in winforms, and then,at compilation time, it is transformed into an ASP.NET application which behaves exactly as the winforms application does. They provide their own project templates for control library, Visual Web GUI(VWG) application and a VWG client project for winform deployment. Here's a movie that shows this in action.
The nice thing about it is that scenarios such as long running actions, progress bars and async notifications become a breeze. For example, to fill a list box on a web page in an async manner, I started a thread that fills it slowly. then, to make sure the form was refreshing to show the new items, I just added a timer to my form and enabled it for 1 second intervals. When I ran it as a web application, it just worked, which to me is a big win.
Another feature of this (which you may or may not like) is that the resulting web applications have the same look and feel of winform applications. Here's a screenshot from a project based on VWG called "Enterprise manager. Take a look. It's really easy to create modal dialogs, get data between them, and it sure looks like a winform in a browser. Fortunately, you don't have to have a desktop look, as noted in their blog, because VWG supports themes and flavors.
The most interesting thing about it: It's open source! When you download the VWG SDK, you download it directly from sourceforge. THE SDK comes with the predefined controls. I'm not sure what the business model is for this company, but this is one cool piece of work.
Visual Web GUI can help change the web development world and make it more usable,reachable and easier than ever. Whether people catch on to it, or add their own controls to it remains to be seen. Meanwhile, it's definitely cutting edge in my book.
Update: Guy Peled from Visual Web Gui has this to reply on the comments to this post:
"Visual WebGui is fully server based, which means that data access should, by default, be done in the server level. When for example you handle a button click event, the event handler is executed in the server which provides you as a developer with the ability to access your data and update the UI according. Visual WebGui then will automatically update the browser to reflect the changes that you made in the UI. This architecture makes Visual WebGui secured as plain old ASP.NET applications before the AJAX era, but with the UI behavior expected from a modern AJAX based application. Visual WebGui has many customization mechanisms that allow to divert from the default behavior but in most cases you should not do that."