我认为程序就是为了控制数据。掌握了前后端数据的流向就基本掌握了程序运行的逻辑。另外,前端的数据往往不安全,从安全的角度考虑,哪些数据或代码该放在服务器内,哪些可以放在前端,以此可以做一个划分。最开始,我学习的是使用python中socket来实现前后端交互的,代码量很大,后面学习了框架才发现代码集成带来的简便。以下我通过5个方面总结了我对web开发中的重点知识点。至于具体的代码实现,基本网上都能找到。这里重点是了解理论框架。
1 web开发中,python与PHP彼此的优劣势
相比php适合快速开发,python适合大型多功能集成开发。[1]
2 框架模式
基本都是MVC(model view control)的框架模式,即模型层,视图层和控制层。模型层用于和数据库交互,通过控制层将数据传给视图层,视图层将页面渲染到用户界面,反过来传递数据亦可,即视为用户输入数据或指令。不同的框架的框架模式可能说法不同,基本一致。[2]
3 前后端是否分离
前端认为是客户端,后端视为服务器。从数据传递的角度来解释,前后端分离:前端不需要后端传递HTML的静态模板、CSS和JS文件,只向服务器请求所需的数据,自行渲染页面。与之相对的,所有文件和数据都需要向服务器请求。至于选择,根据需求。对于app开发,一般为前后端分离,对于纯网页应用,可使用前后端不分离。[3]
4 常用框架
常用的包括Flask,Django和Tornado。Flask适合开发一个简单的网站,属于轻量级框架。Django可以快速开发一个网站,功能模块较多,属于全能型框架。Tornado属于高性能框架,支持异步处理功能。[4]
5 数据库
后端一般使用的是关系型数据库,增删改查技术成熟,比如Oracle、MySQL等,而面对超大规模,高并发场合时,关系型数据库的读写速度明显跟不上,就会用到非关系型数据库,如Redis、MongoDB等。[5]
如果想要了解更加详细的知识点,可以查看下面的链接:
[1] https://www.zhihu.com/question/19628655
[2] https://www.cnblogs.com/daliangtou/p/5258905.html
[3] https://www.cnblogs.com/skaarl/p/9658114.html
[4] https://www.zhihu.com/question/20706333
[5] https://www.jianshu.com/p/107c6b045245