1. A computer-implemented method comprising: receiving one or more base data files at a platform server; transforming the base data files into one or more application data files, the application data files being defined in a declarative application modeling language, the declarative application modeling language comprising named data elements arranged in a hierarchical structure, the names and structure of the named data elements describing an application user interface and behavior, the declarative application modeling language including a structure for managing rules that define in part the behavior of an application, the rules comprising at least a given action and a given action trigger, the given action being automatically performed by the application upon the occurrence of the given action trigger, the given action trigger being dynamically evaluated during execution of the application and based in part on user actions, wherein the base data files are input into one or more data transformations to yield one or more application data files, each application data file describing a different application user interface and behavior corresponding to different web applications; compiling, by execution of a data processor, each application data file into the corresponding different web applications; and causing the web applications to be served to a browser, wherein the web application caches application states using state identifiers.