后端开发框架

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:最经典的是Spring系列(许多大型企业用Java)。
C++:性能可能较好。(鹅厂专注于C++,当然也有历史原因)
Go:新兴的高性能语言,并发能力较强。

不过,写后端,本人暂时只用Python的几个常用框架 和 Java的Spring系列即可。

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

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


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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FarmerJohn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值