What is a Web Application Framework?

The Web application framework is a development framework used to support the development of dynamic websites, web applications, and web services. There are two types of request-based and component-based frameworks

Web Application Framework

Web application frameworks help reduce the workload of common activities during web development. For example, many frameworks provide database access interfaces, standard templates, and
Web frameworks can be divided into two camps, request-based and component-based. Representatives of the former include Struts and Spring MVC, while members of the latter include JSF, Tapestry, and so on. [1]
The request-based framework appeared earlier. The concept used to describe the structure of a web application is the same as that of a traditional static Internet site. It is an extension of its mechanism to dynamic content. For a website that provides static content such as HTML and images, the browser at the other end of the network sends a request for the resource specified in the form of a URI. The Web server interprets the request and checks whether the resource exists locally. If it is, the static content is returned, otherwise Notify the browser that it was not found. After the web application is upgraded to the dynamic content domain, this model needs only a little modification. That is, the web server determines the type of the request after receiving a URL request (compared to a resource under static conditions, which is closer to a request and call for a service under dynamic conditions). If it is a static resource, it follows the above Said processing; if it is dynamic content, the program corresponding to the dynamic content is run through a mechanism (CGI, calling a module resident in memory, delivered to another process such as a Java container), and finally the program gives a response and returns to browse Device. In such a model that communicates directly with the underlying mechanism of the web, the server-side program needs to collect data submitted by the client via get or post, transform, verify, and then use these data as input to run business logic to generate dynamic content (including HTML, JavaScript, CSS, images, etc.).
The component-based framework takes a different approach, which introduces the long-standing component ideas of software development applications to web development. The web pages returned by the server in the original document form are considered to be composed of individual components that can work independently and be reused. Each component can accept user input and is responsible for its own display. The data collection, conversion, and verification performed by the server-side programs mentioned above are delegated to each component. Modern web frameworks basically use an MVC architecture that separates models, views, and controllers. There are two types of controllers: request-based and component-based. There is a controller that dispatches user requests to the model responsible for business logic. It is expressed in a certain view, so the difference between the two major classification frameworks is mainly in the view part. The request-based framework still regards the view, that is, the web page as a whole document. The programmer uses the underlying code such as HTML, Javascript, and CSS Write "documents", and the component-based framework treats the view as a building block-like component. The display of the building blocks does not require programmers to worry about (of course they are also developed by other programmers), as long as it is set up to bind Data and adjusting its properties, greatly freeing them from writing HTML, Javascript, and CSS interfaces.
Both request-based and component-based frameworks have advantages and disadvantages. Although the latter seems very attractive at first glance, ordinary web developers can easily develop beautiful and easy-to-use interfaces by using components provided by specialized companies or open source organizations, but there are several factors that are not conducive to this. An ideal solution. To write a server-side component that has no potential problems, is cross-browser, has a beautiful display, and is flexible enough to be adjusted requires a high level of skills, rich experience, and more time. Even if these costs are paid, it cannot be completely Avoid disappointing users.
To sum up, request-based frameworks require more programmers to do it themselves, but they can therefore have more fine-grained control over HTML, CSS, and Javascript, which ultimately determine the interface of the application program, especially if there is innovation in the interface. Trying new visual effects and user actions will inevitably choose a request-based framework. A component-based framework can improve the efficiency of the development interface, provided that the selected components are of good quality.
Web Template System
Web cache
safety
URL mapping
AJAX
Automatic configuration
Web Services

PHP Web Application Framework PHP

Zend framework
CakePHP
Yii
ThinkPHP
symfony
kohanaphp
Seagull
Drupal
CodeIgniter

javascript Web application framework javascript

jQuery
MooTools
prototype
dojo
zk
Backbone.js
SproutCore
Sammy.js
Spine.js
Cappuccino
Knockout.js
Javascript MVC
GWT (Google Web Toolkit)
Google Closure
Ember.js
Angular.js
Batman.js
ExtJS

Python Web Application Framework Python

django
pinax
Grok
Pylons
TurboGears
web2py
Zope
Quixote
snakelets
snakelets
PylonsHQ
Tornado

Ruby Web application framework Ruby

Ruby On Rails
Sinatra

.net Web Application Framework.net

mvc
Three floors
nhibernate

JAVA Web application framework JAVA

Spring
Hibernate
Grails
Tapestry
ZK
SpringMVC
Struts2
Struts
Mybatis

IN OTHER LANGUAGES

Was this article helpful? Thanks for the feedback Thanks for the feedback

How can we help? How can we help?