What are different types of frameworks

Web frameworks - overview and classification

At the level of the Application control web frameworks can be divided into two classes. While action-based (action-based) Web frameworks consistently map the HTTP-related request-response pattern, this is used for component-based (component-based) Web frameworks abstracted.

Action-based web frameworks: In the case of action-based web frameworks, the controller serves as a central instance that receives and validates client requests and calls up a suitable action. For every possible action, the app developer must create a software object in advance that contains the corresponding application logic. This can usually be derived from abstract classes. Once the action has been processed, the controller updates the data model and forwards the result to the view, which in turn creates the response and sends it back to the client.

Action-based web frameworks are strongly based on the MVC pattern and are also referred to as request-based due to the strict implementation of the request-response scheme. Classic representatives are:

Since the possible actions of an action-based web framework are defined in detail by the app developer, one speaks of a white box approach. This offers developers great freedom, but requires a deeper understanding of the respective web framework, since developers are responsible for creating HTML, CSS and JavaScript themselves.

Component-based web frameworks: In contrast to the action-driven approach, component-driven web frameworks abstract from the HTTP-conditioned request-response pattern by viewing the user interface of a web application as a collection of components. For each of these components, which are linked to software objects on the server side, certain reactions are defined during the development of the web application. These follow events triggered by user interaction with the component. One therefore speaks of event-controlled webframe woks. Classic representatives are:

The basic idea behind the component-based approach is to group related actions. One component AccountController for example represents actions like Log in, logout or getAccount. A software object can therefore be responsible for several actions. Component-based web frameworks usually offer a large selection of reusable components that hide the details of the underlying request-response scheme from the app developer. In this context, one speaks of a black box. Web frameworks of this type are therefore ideal for developers who primarily want to rely on predefined components. If you want more freedom with regard to HTTP, HTML, CSS and JavaScripts, you are better off with an action-based web framework.