The web framework map is presented from a slightly unusual point of view. This helps guide the discussion by excluding certain topics and providing a common reference from which included topics can be discussed.
This point of view is defined as follows:
- Instead of looking at a web application as a whole, the web framework map is limited to those parts of an application that present a web-based user interface. The rest of any application is not necessarily all that web-related.
This "web-based user interface" is further seen as a single entity - not a loose collection of bits of web pages and code. Specifically, a web-based user interface is seen as a special kind of program. Its purpose is to present the user interface of one or more systems at a remote location. Web frameworks dictate the ways in which a programmer can specify this program. In other words, web frameworks dictate the language programmers can use to specify their user interface programs.
Having specified a user interface as a whole "program", one would need to execute this program somehow. Here web frameworks play a role analogous to interpreters of programming languages: given the specification of a user interface (the program), they will present this interface to users via web technology (execute it). Thus, an ideal web framework could be thought of as a virtual machine that's implemented on top of a web server and its many web browser clients.
This reference model makes it possible to "see the wood for the trees". It is a more abstract way of viewing web frameworks which is valuable when it comes to reasoning about web frameworks.
Note how web frameworks that present interfaces to entities other than human users are excluded from this viewpoint. This is a starting point - the scope may be expanded in time to also include such frameworks.