---
title: "Visual Web GUI Helps me Write in Winform and run as ASP.NET"
url: "https://osherove.com/blog/2007/7/28/visual-web-gui-helps-me-write-in-winform-and-run-as-aspnet.md"
canonical: "https://osherove.com/blog/2007/7/28/visual-web-gui-helps-me-write-in-winform-and-run-as-aspnet.html"
published: "2007-07-28T08:33:48"
updated: "2007-07-28T08:33:48"
tags: [".NET", "General Software Devel..."]
author: "Roy Osherove"
description: "If you know me well enough you'll know that I'm not a big fan of website development. I just hate the idea that you need to learn about 17 different languages and paradigms to be able to show a simple progress bar when…"
usage: "Licensed under CC BY 4.0 — reuse, quote and adapt with attribution (Roy Osherove, link to the original page)."
license: "https://creativecommons.org/licenses/by/4.0/"
---

# Visual Web GUI Helps me Write in Winform and run as ASP.NET

By Roy Osherove July 28, 2007 In [.NET](https://osherove.com/blog/category/net), [General Software Devel...](https://osherove.com/blog/category/general-software-devel)

**Historical article** · Originally published July 28, 2007; technical details may be outdated.

If you know me well enough you'll know that I'm not a big fan of website development. I just hate the idea that you need to learn about 17 different languages and paradigms to be able to show a simple progress bar when doing a long running action. I'm a winforms guy. always been. That's not to say I can't program my way out of a non-scalable server, but when it comes to **web user interfaces** I just suck. Everything is much harder than it should be. I dislike JavaScript, Html, Ajax and all that goes with them.

That's why I'm happy to write About [Visual Web Gui](http://www.visualwebgui.com/LinkClick.aspx?link=314&tabid=330&mid=834), as part of an [ad campaign on this blog](http://weblogs.asp.net/rosherove/pages/Advertise.aspx), 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](http://samples.visualwebgui.com/MainForm.wgx).

[Visual Web GUI](http://www.visualwebgui.com/LinkClick.aspx?link=314&tabid=330&mid=834) 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](http://www.visualwebgui.com/LinkClick.aspx?link=314&tabid=330&mid=834) that shows this in action.

The main idea is that if you know your way around windows forms, but not around ASP.NET, you shouldn't have to invest a lot of time to use your knowledge to build ajax-enabled web sites that look and behave in a professional manner. They created a list of predefined Visual Web GUI controls (and you can create your own) that map to normal windos forms controls. So instead of creating a Form, I create a VWG form. Instead of adding a textbox, I add a VWG textbox and so on. At build time, the controls are "translated" into ASP.NET code and JavaScript code, and the forms are run under _FormName.wgx_ extensions (which you map in IIS to the ASP.NET runtime).

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](http://www.visualwebgui.com/Community/Projects/VisualWebGuiProjectVEM/ScreenShots/tabid/180/Default.aspx).   [Take a look](http://www.visualwebgui.com/Community/Projects/VisualWebGuiProjectVEM/ScreenShots/tabid/180/ctl/View/mid/628/ItemID/3/Default.aspx). 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](http://www.visualwebgui.com/Community/Blogs/tabid/167/EntryID/4/Default.aspx), 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](http://sourceforge.net/projects/visualwebgui). 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](http://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."

## More in .NET

[All posts in .NET](https://osherove.com/blog/category/net)

- Aug 8, 2007

    ### [Source control hosting heats up: Dynamsoft introduces SourceAnywhere](https://osherove.com/blog/2007/8/8/source-control-hosting-heats-up-dynamsoft-introduces-sourcea.html)

- Jul 29, 2007

    ### [ALT.NET Conference Announced](https://osherove.com/blog/2007/7/29/altnet-conference-announced.html)

- Jul 28, 2007

    ### [Hotfix request Web Submission form could be a life saver](https://osherove.com/blog/2007/7/28/hotfix-request-web-submission-form-could-be-a-life-saver.html)

- Jul 12, 2007

    ### [Watching your computer breath using FileSystemWatcher](https://osherove.com/blog/2007/7/12/watching-your-computer-breath-using-filesystemwatcher.html)


---

## About the author

**Roy Osherove**: Senior Solutions Architect at AWS working on AI for production and AI-driven development; author of The Art of Unit Testing and Elastic Leadership, with about 20 years of consulting and training on unit testing, TDD, team leadership and continuous delivery.

### Sites

- [RobotPaper](https://robotpaper.ai/): This blog: AI patterns and anti-patterns, AI and coding agents, and engineering leadership.
- [osherove.com](https://osherove.com): Roy's personal site. Author of The Art of Unit Testing and Elastic Leadership; consulting and training on unit testing, TDD, team leadership and continuous delivery, plus about 20 years of blog posts.
- [The Art of Unit Testing](https://www.artofunittesting.com): The Art of Unit Testing, 3rd Edition (Manning): readable, maintainable, trustworthy unit tests, plus TDD workshops in C#, JavaScript, Java and Kotlin.
- [5whys.com](https://www.5whys.com): Roy's writing on software team leadership: self-organizing teams, surviving chaos, learning mode and the Elastic Leadership model.
- [Pipeline Driven](https://pipelinedriven.org): Continuous delivery and DevOps practices: build patterns, pipeline-friendly testing, DevOps metrics and enterprise DevOps.
- [Elastic Leadership](https://www.elasticleadership.com): Elastic Leadership, Roy's framework for software team leaders (survival, learning and self-organizing modes).

### Social

- X: https://x.com/royosherove
- LinkedIn: https://www.linkedin.com/in/osherove/

### Contact

- Contact form: https://forms.gle/jQSx5KoXvrVA1JCK7

### License

Licensed under CC BY 4.0 — reuse, quote and adapt with attribution (Roy Osherove, link to the original page). License: https://creativecommons.org/licenses/by/4.0/
