概述
web框架(web framework)或者叫做web应用框架(web application framework),是用于进行web开发的一套软件架构。大多数的web框架提供了一套开发和部署网站的方式。为web的行为提供了一套支持支持的方法。使用web框架,很多的业务逻辑外的功能不需要自己再去完善,而是使用框架已有的功能就可以。
web框架的功能
web框架使得在进行web应用开发的时候,减少了工作量。web框架主要用于动态网络开发,动态网络主要是指现在的主要的页面,可以实现数据的交互和业务功能的完善。使用web框架进行web开发的时候,在进行数据缓存、数据库访问、数据安全校验等方面,不需要自己再重新实现,而是将业务逻辑相关的代码写入框架就可以。也就是说,通过对web框架进行主观上的“缝缝补补”,就可以实现自己进行web开发的需求了。
以PHP为例,PHP可以在apache服务器上进行web开发,而不必使用框架。使用PHP进行开的时候,在不适用框架的情况下,数据库连接就需要自己来实现,页面的生成和显示也是一样。比如框架的话可以完成避免sql注入的工作,而使用PHP在不用框架的情况下,这部分要自己做。
目前Python主流的框架有Django和Flask等。Django是一个比较重量级的框架,重量级的意思是说,Django几乎所有的功能都帮助开发者写好了,有时候如果想做一个简单的网站,并不需要太多功能,这时候使用Django的话,就比较不合适,因为在部署网站的时候会导致很多不必要的功能也部署了进来。而Flask是一个轻量级的框架,一些核心的功能实现了,但是实现的功能并没有Django那么多,这样可以进行自己的发挥,在Flask的基础上,如果想实现更多的功能,可以很方便地加入。
Java目前的主流开发框架是ssm(spring spring-mvc和mybatis)。相比之前的ssh(spring struts hibernate),ssm也是比较轻量级的框架。
为了便于理解,个人创造了一个比方,如果将web框架比作是旋律,歌词比作是业务逻辑,那么就是不同的歌曲。旋律可能有些地方不满足人的需求,可以进行修改。也可以在基础上增加新的旋律。或者是将框架比作素描的结果,然后在素描的基础上进行涂色,然后就可以成为一副画了。
总结
web框架是用来进行web应用开发的一个软件架构。主要用于动态网络开发。开发者在基于web框架实现自己的业务逻辑。web框架实现了很多功能,为实现业务逻辑提供了一套通用方法。
参考
[1]https://en.wikipedia.org/wiki/Web_framework
[2] https://stackoverflow.com/questions/4507506/what-is-a-web-framework-how-does-it-compare-with-lamp