A method for providing a web application that is capable of executing within a web browser and within a client application that is native to a client platform, comprising: hosting a web application for distribution to client applications and web browsers, wherein a client application implements a set of modules that enable the web application to invoke a set of features supported by a respective client platform, wherein the web application is capable of executing within a plurality of environments (140, 150) that include a web browser, a first client application native to a first client platform and a second client application native to a second client platform, wherein the second client platform supports a different set of features than the web browser and the first client platform and wherein the second client platform corresponds to a different operating system than the first client platform, wherein execution of the web application within the first client application permits the web application to invoke at least one feature not supported by the web browser and wherein execution of the web application within the second client application permits the web application to invoke at least one feature not supported by the web browser and the first client platform; receiving, from the first client application, executing on a first client device that implements the first client platform, a request for the web application, receiving, from the web browser, executing on a client device that is the same as or different from the first client device, a request for the web application, receiving, from the second client application, executing on a further client device that implements the second client platform, a request for the web application; and sending the same web application to the first client application, to the second client application and to the web browser to cause the web application to be executed within the first client application, the second client application and the web browser, respectively. hosting a web application for distribution to client applications and web browsers, wherein a client application implements a set of modules that enable the web application to invoke a set of features supported by a respective client platform, wherein the web application is capable of executing within a plurality of environments (140, 150) that include a web browser, a first client application native to a first client platform and a second client application native to a second client platform, wherein the second client platform supports a different set of features than the web browser and the first client platform and wherein the second client platform corresponds to a different operating system than the first client platform, wherein execution of the web application within the first client application permits the web application to invoke at least one feature not supported by the web browser and wherein execution of the web application within the second client application permits the web application to invoke at least one feature not supported by the web browser and the first client platform; receiving, from the first client application, executing on a first client device that implements the first client platform, a request for the web application, receiving, from the web browser, executing on a client device that is the same as or different from the first client device, a request for the web application, receiving, from the second client application, executing on a further client device that implements the second client platform, a request for the web application; and sending the same web application to the first client application, to the second client application and to the web browser to cause the web application to be executed within the first client application, the second client application and the web browser, respectively.