Sw4   >   Web   >   Web


This section covers various web/internet topics relating to StudioWorks. The StudioWorks framework is not advertised as being web savvy. However various StudioWorks developers are creating StudioWorks applications which can be accessed using a web browser.

The Web App Server version of Omnis Studio makes it possible for your Omnis Studio application to receive HTTP requests from web browsers and respond to those requests.

There are two options for interacting with the client web browser:

  1. Install the Omnis Web Client plug-in on the client computer and develop remote forms.
  2. No plug-in on the client computer and return simple HTML.

Developing web applications using the remote forms has some drawbacks:

  1. Each client must download and install the Omnis plug-in.
  2. Constant client connection requires multiple Omnis Web App Server licenses.
The open source community has been doing a lot of web application development using JavaScript. JavaScript is code that runs independently on the client's web browser. Using JavaScript you can write custom code that does event handling, validation, and can dynamically change the page without sending a request to the server. By combining JavaScript with the Omnis Web App Server we can create a decent web application that does not require any plug-ins. See the JavaScript topic for more details.

Web Apps

It is recommended that you first write your application as a StudioWorks non-web app. StudioWorks app development is easiest to in the normal non-web environment. Once you have the non-web application built and working, you can then write the additional bits to make the application web app capable.

The swWeb4 library contains classes which can be used for generating an StudioWorks web app.

The classes contained in the ServerMonitor folder are for monitoring Omnis web app server activity. If the startupsettings.txt file sets the appmode to web, the mWebMonitor menu is installed and the wWebMonitor window is opened by the oStartupTaskDefaultMethods object.