| CPC G06F 3/04817 (2013.01) [G06F 8/34 (2013.01); G06F 8/51 (2013.01); G06F 40/151 (2020.01)] | 5 Claims |

|
1. A web application creation system for executing computer-implemented instructions from a server platform in a first language to build a graphical user interface (GUI) on a client platform in a second language, said system comprising:
a GUI library containing a plurality of GUI components, each GUI component including a toHTML( ) instruction that recursively generates HTML/JavaScript code for rendering said each GUI component on the client platform;
a server environment on the server platform for organizing said plurality of GUI components, such that behavior of said each GUI component is described using the first language;
a server application on the server platform for dynamically generating said HTML/JavaScript code from server logic based on said GUI library, wherein the server platform renders the GUI for the client platform;
a client application on the client platform that receives said HTML/JavaScript code from the server platform for rendering said plurality of GUI components;
a first communication layer that enables interaction between the server platform and the client platform via a WebSocket endpoint, wherein said each GUI component is capable of invoking behavior on the client platform via an exec(String javascript) instruction;
a second communication layer that facilitates client-to-server interaction through an asynchronous JavaScript and XML (AJAX) endpoint, where the client platform sends event information to the server platform, including a unique component identifier to the server platform responsive to an external event with said GUI components;
a recursive event handling system on the server that processes incoming said external event, traverses a component hierarchy to identify said GUI component that triggered said external event, and executes corresponding logic on the server platform for that GUI component; and
a plugin framework on the server platform that enables developers to create a plurality of GUI plugins that the server platform dynamically combines into a unified web application, with the arrangement, interaction, and docking behavior of the GUI components managed by the client platform.
|