1. A method for controlling a distributed application, the method comprising: detecting an indication of a computational capability of a client computing machine and of a server computing machine, building a page in response to a request received by the server computing machine from the client computing machine, the page comprising a set of commands each one for submitting a next request on the client computing machine, a processing logic for serving each next request being split between a client processing component and a server processing component, wherein building the page comprises: creating the client processing component and the server processing component for each next request according to the computational capability of the client computing machine and the server computing machine, respectively, wherein each next request has a portion of the next request executed on the client computing machine based on the detected computational capability of the client computing machine and the remaining portion of the next request executed on the server computing machine based on the detected computational capability of the server computing machine, and associating the processing logic with a penalty indicator indicative of a loss of efficiency caused by a moving of the processing logic from the client computing machine to the server computing machine, the processing logic being split further according to the penalty indicator, returning the page with the client processing component for each command to the client computing machine for causing the client computing machine to load the page and execute each client processing component in response to the corresponding next request, and executing each server processing component in response to the corresponding next request.