The task of creating a web application is pretty simple. First we need to decide how the application will look to the client, that is, which web pages to show and in which order (how to navigate from one page to another page). The second task is to create web page content in one of the formats that Internet browsers understand (HTML, XML, etc.). The last task is to pass user input to the server (if necessary). That's it. Why do we need that many frameworks for that simple task? Can anybody explain that?