Interactive web app without server

Brief:

This is a windows application which has Web Browser control integrated in Windows Form. Internally a web page is displayed within the web browser. Web Browser has the feature to intercept the click event on the page. That helps us to take input from user and on the basis of that we can perform required operation. It is not required to have any server side code and server in the back end. We can also capture the page navigation and have the power to cancel the navigation and access the values passed in the URL.

Need:

Javascript & CSS has made the websites live. If we want to create a Windows Forms based application then it is not as simple as a web page. Specially if you are not much comfortable with WPF & XAML. In many cases the requirement is like to showcase something to potential customers when you don't have Internet access and the presenter is not tech savvy. If will be great if we can circulate it easily like a self .exe file with no hassle of installation & configuration.

How It Works:

We can create a web application with just Javascript/jQuery/AngularJS and CSS. Create a Windows Forms application and add a Web Browser control. Write logic to open the web app.

Here are list of events that can be used to handle the operations.
1. WebBrowser1.DocumentCompleted
2. WebBrowser1.Navigating
3. WebBrowser1.Navigated

1. WebBrowser1.Navigating

Occurs before the WebBrowser control navigates to a new document.
You can handle the Navigating event to cancel navigation if certain conditions have not been met, for example, when the user has not completely filled out a form. To cancel navigation, set the Cancel property of the WebBrowserNavigatingEventArgs object passed to the event handler to true. You can also use this object to retrieve the URL of the new document through the WebBrowserNavigatingEventArgs.
Url property. If the new document will be displayed in a Web page frame, you can retrieve the name of the frame through the WebBrowserNavigatingEventArgs.TargetFrameName property.
Handle the Navigated event to receive notification when the WebBrowser control finishes navigation and has begun loading the document at the new location. Handle the DocumentCompleted event to receive notification when the WebBrowser control finishes loading the new document.

2. WebBrowser1.Navigated

Occurs when the WebBrowser control has navigated to a new document and has begun loading it.
Handle the Navigated event to receive notification when the WebBrowser control has navigated to a new document. When the Navigated event occurs, the new document has begun loading, which means you can access the loaded content through the DocumentDocumentText, and DocumentStream properties. Handle the DocumentCompleted event to receive notification when the WebBrowser control finishes loading the new document.
You can also receive notification before navigation begins by handling the Navigating event. Handling this event lets you cancel navigation if certain conditions have not been met, for example, the user has not completely filled out a form.

3. WebBrowser1.DocumentCompleted

Occurs when the WebBrowser control finishes loading a document.
Handle the DocumentCompleted event to receive notification when the new document finishes loading. When the DocumentCompleted event occurs, the new document is fully loaded, which means you can access its contents through the DocumentDocumentText, or DocumentStream property.
To receive notification before navigation begins, handle the Navigating event. Handling this event lets you cancel navigation if certain conditions have not been met, for example, when the user has not  completely filled out a form. Handle the Navigated event to receive notification when the WebBrowser control finishes navigation and has begun loading the document at the new location.

Podcast

Michael Patterson sat down with the CEO of Boston Byte, Mustapha Shaikh to discuss the significance and rapid digitization of the healthcar...