后端开发框架

Python目前主流的应用包括:Web开发、系统网络运维、网络编程、科学数字计算、3D游戏开发等。

Python的web框架比较多。个人接触最多的是这四个大佬:DjangoFlaskTornadoAiohttp,够用就行,以后就用这四个吧,性能需求小的直接用Django快速搞定。
Tornado是最早接触的web框架,异步并发首选。Tornado不仅是web框架,还实现了http服务器。由于WSGI是同步模型,Tornado自己实现了一套异步处理,但同时也提供WSGI的接入,只是接入WSGI的部分一律不能使用异步。Tornado其实和一般的web框架不是一个级别的存在,甚至可以充当Nginx的角色,有时候也用来装载Django、Bottle之类的框架。但是据说不建议使用Tornado进行多台服务器的部署。
然后发现其实Django能够满足大部分自己的需求,功能齐全、易上手。还有Flask也比较灵活。Aiohttp的话,最轻,基于asyncio,可以做出python里面性能极好的后端,但是需要自己写很多封装,封装成一个自己的web框架。
此外,Bottle、webpy、gevent 等常常有所耳闻。其余的还有web2py、Quixote、Pyramid、Falcon、Muffin、Wheezy Web、Sanic等等,网上随便搜搜就能搜到很多python框架。
一些对比:介绍两个Python web框架:Django & Tornado

上面说的都是python框架,其实python用来写web并不是主流,毕竟Ruby和PHP拥有着更大的web生态圈,专注于写网站。java和C++能写出真正高性能的网站。稍微了解下其他语言的web框架:
Ruby:Rails等。
PHP:如Laravel、Yii、Symfony、ThinkPHP、Codeigniter等。
Javascript:Node.js。
Java:JSP、java servlet。(许多大型企业用java)
C++:性能较好。(鹅厂专注于C++,当然也有历史原因)
Go:新兴的高性能语言,并发能力较强。

不过,写后端,本人暂时只用python,够用了。Java虽然也用的多,暂时写写Android就行了,之后做大型项目,可以再考虑Java。JS就只用来写写前端算了;而Ruby就不碰了。PHP有所了解,遇到难点可以找XZ兄弟。C++写服务器是比较痛苦的,鹅厂是因为积攒了很多C++库,我暂时就不要作死了吧(写游戏类服务器可能还说得过去)(用C系列写后端,是想退回到CGI时代吗…)。总之,写服务器程序,主要用python和Java吧。

附一个性能比较:thinkphp 与 tornado 性能测试比较
个人还是很喜欢tornado的。

附:python中的同步web与异步web
同步处理一般基于WSGI。
异步处理,python2时代主要有三个库:Twisted、Tornado 和 gevent。python3.4开始又出现asyncio的概念,aiohttp则是基于asyncio的http框架。之后又陆续出现了一批基于asyncio的HTTP框架,性能都不弱于Tornado。


2019年更新:
目前Go逐渐流行,用Python写后端的有可能逐渐变少,可以尝试使用Go玩玩啦(当然,用Python做机器学习依然是不错的选择)。

你可能感兴趣的:(后端开发,python,后端开发,Python)