Web框架

1. web框架简介

web框架(Web Framework)也可以叫web应用框架(Web Application Framework),是一套进行web开发的一套软件架构,用于支持动态网站(比如淘宝,新浪等)、网络应用程序(比如office在线版,网页版微信等)以及网络服务(比如12306订票这些)的开发。

大多数的web框架提供了一套开发和部署网站的方式,并提供了很多方法,很多业务逻辑不需要自己去写,使用框架已有的功能就可以,常用的web框架比如Java的SSM(Spring SpringMVC MyBatis),SSH(Spring Struts hibernate);Python的Django和Flask等 。

web框架使得在进行web开发的时候减少了工作量,提高了系统的健壮性和安全性。

2. web框架的分类

web框架可以分为两类:基于请求的和基于组件的,前者的代表有Spring MVC,Struts等,后者的代表有JSF,Tapestry(不了解的可以百度下)。

2.1 基于请求的框架

这类框架出现的比较早,使用范围也比较广,核心思想是服务器端为前端提供接口,前端通过浏览器发送URI请求,请求分为两类,一类是请求静态资源,比如图片,视频等,服务器接收到请求返回静态资源;另一类是动态内容,比如创建一个用户的服务,此时服务端通过某种机制运行对用的程序,最后由程序返回数据给前端。

2.2 基于组件的框架

在基于组件的框架中,服务器返回的文档被视为一个个可独立工作,重复使用的组件。每个组件都能接受用户的输入并展示自己的内容,我理解freemaker模板 引擎就是这个设计,直接在服务器端将生成的html返回给前端展示。

2.3 两种框架的对比

现代的web框架基本使用了MVC架构,所以这两种web框架的区别主要表现在视图层,基于请求的框架需要程序员自己写html,css,js这些视图文档,而基于组件的框架把视图看作由积木一样的组件拼成,积木的显示不用程序员关心,只要设置好它绑定的数据和调整它的属性就可以从编写html,css,js的工作中解放出来。但是这样就会导致程序员的能力比较高,能够生成对用需求的界面,并且不能好精细的控制html的展示,相比来说,面向服务的框架,程序员使用一些前端框架就会把界面做的很好,使用原生的css更能精细的控制页面的展示。所以如果一个web应用的前端展示比较简单,可以选择基于组件的框架,但是一旦前端比较复杂的话就推荐使用基于服务的框架了。

参考:

https://blog.csdn.net/starrow/article/details/12950617

https://baijiahao.baidu.com/s?id=1597337059085396836&wfr=spider&for=pc

https://baike.baidu.com/item/Web%E5%BA%94%E7%94%A8%E6%A1%86%E6%9E%B6/4262233?fr=aladdin

Last updated