1. A computer-implemented method for updating a web user interface on a client device, comprising: (a) a router back-boned to the Internet communicating with said client device in a markup language web user interface data obtained from the Internet and intended to dynamically update said web user interface running on said client device, wherein said router contains no logic regarding said web user interface running on said client device; (b) said client device having a browser server for dynamically updating said web user interface running on said client device through downloading and caching said web user interface data in said markup language from said router, wherein said downloaded web user interface data is dynamically used when said client device is in a synchronous mode with said router and wherein said cached web user interface data is accessed from said client device when said client device is in an a-synchronous mode with said router; (c) said browser server on said client device having: (i) a user interface model of said web user interface running on said client device defined in Javascript, wherein said Javascript-defined user interface model defines the view of said webpage running on said client device, and (ii) a JavaScript Runtime Engine for dynamically converting said downloaded and/or cached web user interface markup language data into JavaScript objects; and (d) dynamically updating said web user interface running on said client device by combining said steps c(i) and c(ii).