Technology Overview

<< Click to Display Table of Contents >>

Navigation:  »No topics above this level«

Technology Overview

It is a known fact that Web applications are replacing the old desktop applications. A Web application is accessible from any modern web browser without deploying anything to the client device, it is much easier to update, there are many advantages. But achieving the same user interface and responsiveness provided by a desktop application on the Web was almost impossible or unfeasible until a few years ago.


The first attempt to bring the desktop user experience to the Web, Rich Internet Application (RIA), required the installation of a local run-time framework or plug-in on the client computer. Microsoft Silverlight, Microsoft WPF XAML Browser Applications, Flash, are some examples of this generation. Most of these technologies are now deprecated.


Currently, thanks to the advances in Web technology like HTML 5, AJAX, and powerful JavaScript libraries, there is a new concept, Single-Page Application (SPA). In many ways, it is similar to a desktop Single Document Interface (SDI) which uses a single window/page as the user interface and updates it dynamically according to the user actions.


uniGUI is a Web application framework capable of creating and deploying stateful Single-Page Applications.


What makes uniGUI unique is that it looks natural to any Delphi user, as simple as using any other component library in the Delphi marketplace. Behind the scenes, many things must happen to make the SPA work.


It is possible to create a uniGUI SPA with its own Web HTTP Server, or just an ISAPI module which will need an ISAPI Handler for answering the requests from the host Web server. But for any SPA, it is necessary to handle some typical tasks as part of the uniGUI Web Application framework:


1.Server singleton

2.User Sessions

3.Login form

4.Main form

5.Automatic and dynamic generation of the JavaScript code for rendering the forms in the client browser

6.Automatic handling of AJAX calls between each client and the server


uniGUI relies on the well known Sencha Ext JS JavaScript library for all client-side tasks. Thanks to Ext JS, uniGUI generates a high-end, visually perfect, and fully AJAX-enabled Web front-end.


While it is possible to create a uniGUI SPA without knowing anything about JavaScript or Sencha Ext JS, uniGUI allows to take advantage of JavaScript for writing client-side event handlers for the Ext JS controls. This advanced feature allows developers to execute interactions between client-side screen elements without communicating with the server. It is also possible to send AJAX requests to the server.


A uniGUI  application can be considered as a standard Delphi VCL application which uses a Web browser as its presentation layer. uniGUI enables developers to create, design, and debug their Delphi applications as they develop regular desktop applications, and allows them to choose any of the available options for Web deployment. This means that a Delphi developer with little knowledge about Web technologies can start developing a Web application using uniGUI out of the box.