If you are a Windows Forms developer looking to move to web applications, Gizmox's Visual WebGui Professional 6.4 might interest you. This tool enables web application development through Microsoft Visual Studio, using a Windows Forms–like designer. This rapid application development (RAD) designer can be accessed through multiple presentation layers, such as Dynamic HTML (DHTML) or Silverlight.

 

Template-Based Integration

Visual WebGui integrates into Visual Studio via a set of templates, as Figure 1 shows. These templates are not available for website projects.

Figure 1: Hello, World! template selections
Figure 1: Hello, World! template selections

To "kick the tires" on Visual WebGui, I first created a Hello, World! application. Figure 2 shows the bare-bones code that I used to produce the app. Notice that the MessageBox call keeps you rooted in Windows desktop programming, but the end result is a web page with a button that produces the web version of Hello, World!

Figure 2: Windows-style application constructs
Figure 2: Windows-style application constructs

I want to point out something. The URL for my test application is http://localhost:2701/Form1.wgx. The form itself, Form1.wgx, is not a physical file that exists in the virtual directory on Microsoft IIS. Rather, the form is merged into the Gizmox.WebGUI.Forms assembly at compile time. You'll need to tell IIS to ignore file types with the .wgx extension, because these references do not map to physical files on disk. Although IIS will then ignore this file type, the runtime engine will not. That engine parses the URL, looking for the qualified name Form1.wgx. If the engine doesn't find the correct name, then it throws an exception—a prudent step that prevents some forms of man-in-the-middle attack. If this issue occurs, you simply need to make sure that the name of the form matches the form name in the URL.

 

Full Designer Support

Visual WebGui supports nearly 60 native controls, including the DataGridView control. These controls have full designer support, just as in ASP.NET. My test application with a DataGridView control bound to the SQL Server Northwind database was as simple as following the data wizard.

Figure 3 provides a visual comparison between the Visual WebGui DataGridView and ASP.NET Web Forms. The red-bordered window indicates the WebGui application, which is superimposed over the ASP.NET Web Forms application. For both applications, the level of effort was about the same.

Figure 3: Virtual WebGui vs. ASP.NET Web Forms
Figure 3: Virtual WebGui vs. ASP.NET Web Forms

Note that for this test, I pulled a professional scheme over my ASP.NET Web Forms GridView application—an easy task. The professional scheme in Visual Studio easily transforms your application from boring to professional. This feature is missing in the Visual WebGui grid. Using themes in Visual WebGui requires a bit more effort and a separate designer tool. That tool is not part of the base product and must be downloaded separately.

 

A Fast Start

I've given Visual WebGui Professional 6.4 a three-star rating. On the plus side, Gizmox delivers a product that provides a working solution for Windows Forms programmers who must become productive on the web in a short amount of time. Setup and installation are pleasant experiences. However, I ran into several bugs that left me with the impression that the product is not yet polished. Also, the documentation was not completely up to date in some areas; it wouldn't hurt to run a spell check and grammar review of the literature, either.

Applications in Visual WebGui have an HTML source that is significantly smaller than that of a similar Web Forms application: 7KB versus 22KB, when async calls are enabled in Web Forms for a randomly chosen page. The culprit is Viewstate in ASP.NET. WebGui doesn't suffer the same ailment because the client is essentially a dumb client, and the entire user context is stored on the server. This size difference is impressive, but the advantage doesn't translate into a performance edge. Rather, I found the application to be sluggish. Requested data took about 1 second to load in the grid. In the comparable ASP.NET Web Forms application with default postback enabled, data loading was instantaneous.

There's also the issue of disabling .NET Framework 4 request validation in the web.config file when an ASP.NET form is wrapped for use on the Visual WebGui designer. Wrapping allows the developer to use any non-WebGui control on the design surface. The wrapped control is usable only if request validation is down-graded to the weaker .NET Framework 2 validation mode.

Finally, the product does not meet accessibility standards. I used the JAWS Professional v10 accessibility reader to test Visual WebGui. JAWS was unable to accurately interpret the data in form controls such as the DataGridView because the accessibility tree was incorrectly built. And the form designer doesn't contain an accessibility checker, unlike ASP.NET.

 

A Promising Product

Setbacks aside, the bottom line is this: I think this product will be a solid hit with Windows Forms developers. It is truly a dream come true for that niche market. After addressing the cons pointed out in this article, Windows programmers can immediately transition from a Windows to web application environment, without paying the cost of a steep learning curve. And future versions of Visual WebGui should begin to address the problems I've pointed out, making for an all-around solid product.

Visual WebGui Professional Studio 6.4 is available at the Visual WebGui download page. WebGui Professional Studio is the complete featured edition and is fully integrated into Visual Studio. The product starts at $339—a reasonable price considering the time savings gained. A 30-day evaluation period is also available. All versions of .NET are supported, along with Windows XP through Windows 7, Windows Server 2003 and 2008, and Linux. The application code can be installed on IIS and Mono; the resulting web application code is cross-browser compliant.

Rating: 3 out of 5 stars

Website: Visual WebGui

Price: Starts at $339