1. A computer program product comprising one or more computer storage devices having thereon computer-executable instructions that are structured such that, when executed by one or more processors of a web server, cause the web server to perform a method for the web server to expose a server side function to a browser, the method comprising: receiving a request for a web page in a web application, the web application comprising at least one server side function; in response to the request for the web page, for the at least one server side function of the web application, a constructor at the server determining a name, order, and type for each parameter the server side function expects, the constructor generating a corresponding script language function for execution in a receiving browser, the script language function defining a corresponding name and parameter set of the server side function such that each parameter of the script language function maps to a corresponding parameter of the server side function, the script language function having a body that, when executed, serializes the full name and full parameter set of the server side function and communicates a function call to the server so that the server side function is called at the server; marking the generated corresponding script language function to be cached by the receiving browser to enable the generated script language function to be callable from another web page in the web application; and responding to the web page request with the requested web page and the generated corresponding script language function.