Traditionally web applications has been build by one singel page served to the client for every functionality (/settings, /users …). So every time you need a new Gui, you would have to navigate to a new page/new request. For example: suppose we have an app. the user want to change some settings (for example which users should have access) this might be done in something like this way. the user navigate to the "settings page", then the user navigate to the "users page". in this way we lost both guis/states for the primary and settings page.
With the increase of singel page apps these days, it looks to me that the idea is still the same as before. It should still be "one page" for every time a new functionality in the app is requested. Use the example above, we would still create a totally new gui for the settings page and then a totally new gui for the users gui. So the only difference is that we dont have to generate this gui on server side, while we can now do it on the client instead.
So my question is, is there some special reason for not generating a gui in the web application which is more window based. use the example abo again. Instead "clearing the gui and adding a new" we would just create a new dialog on the top of the existing gui once we open the settings and do the same again once we open the "users" settings. (the dialog would just be some code like a div with the content and a static location and a z-index higher than last dialog)
Is there any research shows that a user prefer a web application without windows or is it just done this way because of old habits in web application development?