A method for delivering applications over a network where the
application's logic runs on the backend server and the application's user
interface is rendered on a client-device, according to its display
capabilities, thought a network connection with the backend server. The
application's GUI API and event processing API are implemented to be
network-aware, transmitting application's presentation layer information,
event processing registries, and other related information a between
client and server. The transmission is a high, object level format, which
minimizes network traffic. Client-side events are transmitted to the
server for processing via a predetermined protocol, the server treating
such events and inputs as if locally generated. The appropriate response
to the input is generated and transmitted to the client device using the
format to refresh the GUI on the client.