uniGUI Live Demo

Developing a Rich Internet Application (RIA) is one of the challenging fields in software development. Tasks such as handling user sessions, tracking view state, updating web controls, handling AJAX calls and etc. can be very challenging if your development tool doesn't automatically handle all of these for you. uniGUI Web application framework makes developing stateful Web applications easier than ever.  uniGUI extends Web Application development experience to a new dimension. Each uniGUI  application can be considered both as a standard Delphi VCL application which uses web as its presentation layer. uniGUI enables developers to create, design and debug their Delphi applications as if they are developing regular desktop applications and then choose one of the available options for web deployment. uniGUI itself is not a single library. For Web front-end uniGUI relies on well known Sencha Ext JS JavaScript library.  Thanks to Ext JS for enabling uniGUI to provide a high end, visually perfect and fully AJAX enabled web front-end.

 

 uniGUI uses same Form oriented application model available in a typical VCL application. This means your application will be consisted of many forms which all belong to same session. This will enable developers to follow same principles and design patterns they were following in designing standard desktop application. This will highly reduces learning curve which can be very steep for other web application frameworks. Especially for those which need developers' direct interaction with UI design details, CSS code, HTML code, XML templates and JavaScript code. This means that a Delphi developer with little web knowledge can start developing web application using uniGUI out of the box. While uniGUI enables developers to develop web applications with little knowledge for web technologies, it is always recommended for developers to fully become familiar web underlying web technologies which are used in general in the web and used in particular in uniGUI, such Ext JS framework. Becoming familiar with Ext JS framework will open door to a new world which developers can customize their web application in a war which wouldn't be possible otherwise. uniGUI allows developers to directly write JavaScript client side event handlers for Ext JS controls. This advanced feature allows developers to directly allow interaction between client side screen elements without a need to communicate with the server.

 

 In general each  uniGUI application is a standard Delphi executable powered with specialized modules which all together turn the application into a full featured web server. Among these modules we can count Session Manager, Web HTTP Server, ISAPI Handler, Cache Eraser and Server Module. These modules cooperate to create sessions, handle Ajax calls, create web UI and manage session lifetime. All these actions happens completely transparent to developers.

Unified GUI

uniGUI stands for Unified Graphical User Interface or Unified GUI in short. It is called unified because it allows same UI experience in all devices with a web browser. Regardless of device, OS, CPU and display same level of user experience can be achieved on all devices with a compatible web browser. It allows a great freedom in choosing client devices. Client device can be anything from a Windows PC, OSX device to a PC with any flavor of Linux or even a Raspberry Pi!

  Of course, this feature is not something unique to uniGUI. This level of independency from platform  is something that any web application can provide except that uniGUI enables you to create web applications which are very close to desktop applications in look and feel.

 

Tech-2

 

 

 

 Web Sessions

Web Sessions are main elements of a uniGUI web application. Each time a user opens a new instance of web application a new session on server is created. Each session will remain active in server until user terminates it or a timeout condition occurs. Each session keeps a complete state of running web application. That's why uniGUI sessions are called stateful. You can consider each session as a private copy of your web application which co-exists with other sessions in server's address space. Each session is isolated from other sessions and each web request is automatically redirected to its respected session. Each session has a unique "Session Id" which is used to distinguish it from other sessions. Session Id is assigned upon creation of session and included in each Ajax request, so request can be directed to correct session.

 

 Below diagram represents internal structure of a uniGUI server. Each uniGUI server has a single copy of ServerModule which is created once per server, along with multiple sessions which are dynamically created and destroyed according to user activity. A uniGUI session contains a specialized DataModule called MainModule which is automatically created for each session. Also a Form named MainForm is created which apparently is main entry point of web application. MainForm can be preceded with a LoginForm which provide a reliable and secure way for user login. As expected each session can contain several additional DataModules and Forms.

 

Tech-1
  • What is uniGUI?

    uniGUI is a Web Application Framework for Delphi. C++ Builder development is also supported for RAD Studio

    Read More
    Technology Overview

    uniGUI framework makes developing Web applications easier than ever. uniGUI extends Web Application development experience to a new dimension

    Read More
    uniGUI HyperServer

    uniGUI HyperServer is a new server archirecture designed to highly improve uniGUI applications

    Read More
    uniGUI Editions

    Currently there are three editions available for uniGUI: Personal, Professional and Complete

    Read More
    Component List

    you can find a list of all available components in uniGUI framework

    Read More
    Feature Matrix

    Each uniGUI edition supports a different set of features which can be examined by looking at the feature matrix

    Read More
    Licensing

    uniGUI is distributed with a named license which means each developer in a company

    Read More
    Download

    uniGUI Trial Edition is a special build to allow developers fully test and experience uniGUI Web Application development

    Read More
    WebSockets

    uniGUI integrates WebSockets technology to enable developers send messages directly to web clients from the server

    Read More
  • Multiple Menu Options

    Navigation is a fundamental pillar of any website as well as the template, and Epsilon offers several configurable options to best suit your navigational preferences, for both desktop and mobile device types.

    Dropdown

    CSS based menu system with multiple columns and other advanced per menu items options.

    SplitMenu

    A static menu that displays parent items in the header and child items in the sidebar, as configurable.

    Panel

    A mobile responsive menu that displays all items in a column structure, slidable from the side via a toggle.

    Extended

    Extended menu provides options for menu items columns along and additional child elements.

  • Free GPL Template Framework

    Gantry is a powerful core framework, that sits at the heart of Epsilon, providing the foundation for the major, standarized features and functions, such as the rich and intuitive, custom template manager interface.

    Grids

    Gantry allows for module positions to be split into configuration grids on a per menu item basis.

    SCSS CSS

    The SCSS compiler is built into Gantry, an extended CSS language that allows for easier development.

    Outlines

    Custom module layouts and positions, as well as per-page template outlines are available.

    Options

    A custom administrative interface in the template manager allows for swift configuration.

  • Diverse Element Styling

    The template has a rich assortment of styled elements, ranging from custom typography to configurable preset style variations, and a flexible selection of stylistic and structural module class suffixes.

    Presets

    A selection of six, diverse preset style variations, with numerous available customization options.

    Module Style

    Choose from eight compoundable module class suffixes to adjust title and/or full module styling.

    Module Layout

    An array of structural suffixes are available to individually adjust padding, margins and font formats.

    Typography

    A diverse inventory of typography from Bootstrap as well as FontAwesome, to enrich content.

Latest Posts

  • New 2024 roadmap is announced
    We are happy to announce our new roadmap. For full article please visit below link: uniGUI Roadmap 2024 (Q1 & Q2)
    Written on Wednesday, 21 February 2024 08:08 Read 4655 times
  • uniGUI introduces WebSockets
    We are happy to announce that uniGUI has implemented support for WebSockets technology. This will open a whole new door to the way developers can manage events in a uniGUI web application. For main article please follow below link: uniGUI and WebSockets
    Written on Tuesday, 19 September 2023 08:57 Read 2692 times
  • New Roadmap is announced!
    We are happy to announce our new roadmap! Please follow this link for more details.
    Written on Wednesday, 07 April 2021 11:35 Read 15764 times
  • New uniGUI website is online!
    We are glad to announce that our new website is online! uniGUI web site has been renewed and updated to a more modern design. The first thing that you may notice is that when you open web page from a desktop browser you will see a uniGUI demo embedded in…
    Written on Saturday, 21 November 2020 12:32 Read 7842 times
More Posts   >>