Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Develop Web and Mobile Applications the Easy and Intuitive Web Forms Way

4 Feb 2011 0  
VWG successfully reproduces the Web Forms development experience by offering pure Window Forms development paradigm for Web due to its unique application code virtualization technology which allows to virtualize over Web server rather than OS.

Introduction

Web Forms is a term that was coined by Microsoft with the introduction of ASP.NET back in the beginning of the former decade. It represents an approach whereas developers programs Web applications the same way they program desktop applications. Windows Forms was the model; it featured stateful environment versus the stateless web development. While with stateful environment developers work within a structured, well-defined and visual environment in a stateless environment developers work in a fluid environment and have to take critical decisions and choices by themselves. The stateless environment is much more complex and risky. Windows Form's stateful development experience saves a lot of time and cuts the learning curve dramatically due to a mature visual designer that really helps developers deliver business applications rapidly. For business applications development, a visual designer is not a nice-to-have feature but rather a must-have feature. It provides the ability to rapidly design data entry and data presentation views. Thus dramatically helps building this type of applications by freeing the developer from having to struggle with the pixels and layouts and helps focusing on the logic and the algorithms instead. Visual Basic evolution and then the Windows Forms environment have reached a certain level of saturation in data driven applications that resulted in the most productive business applications.

Most of the ASP.NET developers will agree that the stateless ASP.NET visual designer is completely useless for data-entry or data presentation layouts design as well as for almost all other usages.

ASP.NET being a multi-layered and stateless solution could not really provide the real Web Forms development experience that was achievable with a single layered stateful Frameworks such as Windows Forms. It lacked the basic ability to rely on environmental elements such as other controls on the screen on each request and therefore requires the developer to provide creative solutions that are developers’ skills dependent, both on the client and on the server. For instance, in stateless environments, when a developer writes a line of code that describes certain logic, they should:

  1. Make sure that all of the environmental arguments required for the calculation exist in the current context (client, server and most important current state). In most of the cases the developer will have to write code to establish the required environment in order to perform the logic.
  2. In any interaction with the controls currently shown on the screen, the developer should use server code, communication channels (such as AJAX) and commonly some JavaScript code per specific control.
  3. Make a decision whether a certain logic should be performed on the server or on the client and act accordingly.

In 2007 Microsoft introduced Silverlight. Silverlight targets yet once again the Web Forms development experience and it is quite successful in reproducing the Windows Forms experience, but it still lacks. While providing a stateful environment on the client leaving the developer with a much less complicated world to handle, with only two layers of code (client and server), it lacks the accurate WYSIWYG designer. It is most clear in our days that eye candies are important to colorize a boring data driven gray world, however, extreme usage of animations and too complex controls are inefficient in terms of business productivity. Therefore, while it is important to provide a modern Web 2.0 look and feel, the boundaries are well defined.

Silverlight introduces a very flexible framework to provide any type of eye candies and animations which is very powerful, but at the same time it introduces a very complex object-model structure that causes the following side effects:

  1. A stiff learning curve for Microsoft core developers.
  2. Inability to represent a reliable designer to speed-up development

In 2007, when Silverlight was introduced a small company by the name of Gizmox introduced Visual WebGui that also targets the Web Forms development experience but from a different angle all together.

So, what is Visual WebGui?

VWG is an exclusive solution that virtualizes desktop application code, atop standard Web server or dedicated application server. It offers best server-client load balancing with a UI (user interface) that is being rendered on the client as plain rich HTML / HTML5. Client-Server communication is through VWG patent pending HTTP/XML based protocol, which is the thinnest available internet protocol. Benchmarks prove that VWG protocol consumes as low as 50% server side CPU resources compared to other RIA solutions, and as low as 10% bandwidth. The result is rich, highly responsive UI and the ability to serve at least twice the amount of users on the same CPU / Bandwidth resources. VWG scales up over server farms and benchmarks indicate that it is more scalable than standard Web solutions such as ASP.NET.

Based on this architecture VWG was able to reproduce the Web Forms development experience by offering pure Window Forms development paradigm for Web. The explanation is straight forward. Being able to virtualize desktop code over Web server enables VWG to offer desktop development paradigm for developing Web. In order to make the end-to-end experience seamless, VWG abstracted away most of the Web and Ajax complexities and it is being taken care of by the infrastructure itself.

To what extent VWG reproduces the Windows Forms development experience on Web?

Visual WebGui implements the entire environmental conditions for a developer to develop extended Windows Forms and get a multi-platform frontend application deployed on a standard web server.

Above 97% of the Windows Forms’ APIs are implemented within VWG (The missing 3% are non Web compliant API), as well as a large number of extensions which target both better web compliance (such as paging and virtual scrolling). Windows Forms’ design paradigms are completely captured and enhanced to support web layouts.

Silverlight was repurposed by Microsoft to mobile, does VWG support mobile development?

While Silverlight targets Windows Mobile phones only, VWG targets any mobile browser with HTML4 or HTML5 support. The development paradigm extends the classic Windows Forms development for Form Factor of choice, a set of designated Mobile controls and native Mobile flows’ capabilities.

And yet another differentiating benefit is the ability to migrate VB6 and Windows Forms applications to VWG and Web / Mobile or Cloud

By mimicking Windows Forms API and capturing the development paradigm as a whole (including, of course, the mature and proven visual designer), VWG naturally migrates Windows Forms code, and dramatically shortens the path for VB6 applications migration to native Web deployment. Furthermore, the migration of the current maintenance human resource of projects is very easy, preserving the same methodologies of work with the upgraded app.

Category Parameter ASP.NET Silverlight VWG
Development Coding Languages (required skills) .NET (VB, C#) + JavaScript + HTML + CSS .NET (VB, C#)  .NET (VB, C#) 
Dev. Methodology OOP + Declarative + Script OOP + Declarative OOP only
Code Layers Client, Ajax, Server Client, Server Single Layer
Visual Designer Poor Basic Level Full WYSIWYG
Complex Data-Binding (i.e. bi-directional, master details etc) Complex Fair Easy
Custom Controls Dev. Complex Easy(.NET) Fair
(jQuery)
Graphic designer tasks Complex Easy Fair
(Theme designer)
Multi-forms and windows management Complex Fair Easy
Streaming, Media Fair Easy Fair
Tasks Gaming(intensive animations and real time interactivity) Complex Easy Incompatible
Business Applications, Data-centric usages Challenging Fair Easy, Best fit
Scrollable websites Easy, Best fit Fair Complex
Multi-platform support Any browser including Mobile
* requires
additional effort
Only browsers with SL support, and Mobile Windows Any browser including Mobile
* no additional
effort required
Runtime Data Performance(performance of data manipulation) Poor to Fair(Highly dependent on the developer’s skills) Fair(Highly dependent on the ddeveloper’s skills) Best* Independent from the developer’s
skills
Data Security Challenging Challenging Built-in
IP Security Mostly Secured
* except for client
side scripting
pieces of code
In-secure(assemblies downloaded to the client) Secured-by-design

Conclusion

Evaluating the development paradigms’ differences, the suitability with various tasks and the runtime aspects, the conclusion is pretty obvious:

While ASP.NET is the best choice for scrollable websites (i.e. ecommerce and corporate sides) and Silverlight is the best choice for media, streaming and gaming purposes, VWG is the best choice for data centric, line of business applications.

VWG leverages the most mature and proven set of tools for business applications’ development, the real Web Forms that developers expected to get from Microsoft a decade ago. Furthermore, VWG Web Forms paradigm produces a unique runtime which provides the performance, the richness and the security level that are so crucial for this type of applications and, of course, accessibility anywhere and from any device.

Free trial and free downloads of VWG DevTools are available here >

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here