目前,不少公司在用python做web开发,前司用python+flask做内容审核的后端。
java和php在web开发领域积累较久,有丰富的web开发生态组件可以使用,性能稳定,扩展性强,这个是事实,从这方面来讲,在web开发领域,python的优势确实不明显,在应用的广泛性上与php和java存在一定的差距。
但是,python简单易用,性能也在提高(其实没那么慢,还可以),有不少流行的web框架正在发展起来,框架把构建Web应用的通用的代码进行了封装,把相应的模块组织起来,使用这些框架可以更轻松,快捷的创建web应用,不用去关注一些底层细节:
1.Django框架
Django是基于Python的免费和开放源代码Web框架,它遵循模型-模板-视图体系结构模式。Django对基础的代码进行了封装并提供相应的 API,开发者在使用框架是直接调用封装好的 API 可以省去很多代码编写,从而提高工作效率和开发速度。
Django的目标是使堆栈中的每个元素彼此独立。具有更少的代码,因此可以快速开发。Django的理念是尽一切可能促进超快速开发。
2.Flask框架
Flask 是 Python 编写的一种轻量级的 Web 开发框架,只提供 Web 框架的核心功能,较其他类型的框架更为的自由、灵活、更加适合高度定制化的 Web 项目。
3.Tornado框架
Tornado 是用 Python 编写的一个强大的可扩展的 Web 服务器,在处理高网络流量的时候表现的足够强大,它足够轻量,可以被用到大量的工具当中。Tornado 具有完整的 Web 开发框架,是一个高效的网络库,提供了异步IO,超时事件处理等功能,提供了高效的 HTTPClient等服务器端框架,提供了基于异步框架的 HTTP 客户端。
具体选用何种框架进行web开发,需要结合实际情况,可能并不能用绝对的使用多少来选择,原因如下:
1.性能需求
有的后台对性能要求不大(其实python也没那么慢,还可以),或者性能瓶颈不在web层(例如,主要瓶颈在pybind的算法调用),这时可以选用python做web后端开发。
2.项目周期
如果需要快速搭建项目,赶周期,并且项目规划规模不大,可以选用python及其web框架组件开发web前后端。
3.AI项目
目前的深度学习框架,主要有pytorch/tensorflow/mxnet/tensor-rt/vllm/tgi/megatron等,大部分都是python和c++接口与生态(java接口较少),后台如果是围绕着深度学习或大模型开展,那么,可以选用python及其web框架组件开发web前后端。