1. Modern web applications: an overview Why do we want to write single page apps? The main reason is that they allow us to offer a more-native-app-like experience to the user. This is hard to do with other approaches. Supporting rich interactions with multiple components on a page means that those components have many more intermediate states (e.g. menu open, menu item X selected, menu item Y sele