On Wikipedia, the definition of "Web Application Framework" is:
OneWeb Application FrameworkIs designed to support dynamicWebWebsites,WebApplications andWeb ServicesDeveloped software framework.Web Application FrameworkThe goal is to reduce the numberWebProblems related to common development work during development. For example, many frameworks provide database access class libraries, template frameworks, and session management. At the same time, the framework usually promotes code reuse. (Note:Http://en.wikipedia.org/wiki/Web_application_framework)
The definition of Wikipedia is clear but not too broad. According to this definition, we can divide the web application framework into two types:
■ Web application infrastructure framework
■ Web application building framework
The infrastrcture framework provides various basic frameworks used to build the bottom layer of Web applications, such as HTTP Request Interception and allocation, website and page processing frameworks, session management, and cache. ASP. NET, PHP, and JSP belong to the infrastrcture framework.
Building Framework is a higher-level Web application framework built based on the infrastrcture framework. It aims:
■ Pull the web application developer's perspective from the bottom-layer website and page framework to a more advanced business function based on specific applications
■ It is used to support large-scale and complex web applications, such as web systems with more than thousands of websites and tens of thousands of pages, and provides support for server farms and load balancing.
In the. NET field, dotnetnuke is a typical building framework. With the building framework, Web developers can build the necessary application function components based on the building framework instead of building the web application system from the bottom layer. A building framework usually contains the following content:
■ Mature website and page structure framework, so that developers no longer need to manage the entire web application based on pages and directories
■ Comprehensive and scalable user, role, and permission management
■ Flexible UI Model
■ Built-in data and file storage capabilities
■ Complete functional module Encapsulation
■ Provide APIs for necessary functional interfaces
■ Others...
For Web application development, from static websites to dynamic websites, from the infrastructure framework to the building framework is almost inevitable. As Web applications become increasingly complex, developers are facing more and more challenges: how to maintain and manage thousands of websites and tens of thousands of pages? How can I deploy Web applications in a network load balancing environment? How to separate background services from foreground Web requests? How can we provide a complete system backup and migration solution? If we have to solve these problems based on the infrastructure framework, we may have to take most of the project development cycles, it is spent on solving these "underlying architecture" frameworks (although some developers prefer to develop "Frameworks" rather than an available business system ).
When developing based on the building framework, developers can focus more on business needs and business functions. Generally, each building framework has a set of dedicated functional modules for encapsulation and packaging. developers can use this set of models, package function modules developed by yourself in a standardized manner. On the one hand, this can make the deployment of functional modules easier (avoiding the file-based manual COPY method), on the other hand, developers can also easily share their own function modules to the community (developers who use the same building framework in the community, you can conveniently deploy the obtained functional modules to your own environment in a standardized manner ).
To be continued...