1. A method, comprising: providing, on a computing device of a user, a local operating environment including a local web server; providing, on the computing device, an application package for a web application installed on the computing device, the application package including a user interface of the web application and executable code of the web application, wherein the web application runs in an online mode for communication with a remote web server when the computing device is connected to the remote web server and runs in an offline mode for communication with the local web server when the computing device is not connected to the remote web server; hosting the web application within a viewer application on the computing device that is separate from a web browser on the computing device; displaying, by the viewer application, the user interface of the web application; receiving, by the viewer application, user interaction with the user interface of the web application; executing, by the viewer application, the executable code of the web application to determine a data portion of a web request address that is based on the user interaction with the user interface of the web application, wherein: the data portion of the web request address includes contents that can be interpreted by both the remote web server and the local web server, and the data portion of the web request address is identical regardless of whether the web application is running in the online mode or the offline mode; determining, by the viewer application, a host portion of the web request address that is not controlled by the web application and that identifies different hosts depending on whether the web application is running in the online mode or the offline mode, wherein the host portion of the web request address identifies either the remote web server or the local web server; generating, by the viewer application, a web request directly addressed to the local web server when the web application is running in the offline mode, wherein the web request is addressed using the determined host portion of the web request address that identifies the local web server and the determined data portion of the web request address that includes the contents to be interpreted by the local web server; issuing, by the viewer application, the web request directly to the local web server when the web application is running in the offline mode, wherein the web request issued by the viewer application is not addressed to the remote web server and does not require redirection to the local web server; and receiving, by the local web server, the web request directly from the viewer application when the web application is running in the offline mode, wherein the web request received by the local web server is not addressed to the remote web server and does not require interception by the local web server.