异步是 Python web 的未来吗

2020-07-25 12:19:57 +08:00
 limyel
今年刚毕业入职一家小公司,主要用 Python 开发 API 。之前我都是用 Django 和 DRF,工作之后公司的项目全是异步的...以后的项目也都用 fastapi 了,现在异步、asgi 在 Python 越来越火了吗
8695 次点击
所在节点    Python
67 条回复
ClericPy
2020-07-25 12:27:23 +08:00
爱用什么用什么, 协程给我最大的帮助就是再也没有阻塞的地方, 而且任何任务都可以无痛 cancel, 如果用多线程, 想杀它难的要死

现在我基本只用 Fastapi 了, 但是看面试还是 Python3 没用过协程的占多数, 所以主流应该还是老一套, ASGI 正在变好, 绝大多数库也都有了协程替代品, 早学早享受
heiheidewo
2020-07-25 13:01:39 +08:00
只会 python 哪来的未来
ericls
2020-07-25 13:05:06 +08:00
asgi 应该会成为 async web 的主流,但是 wsgi 不会被完全取代。

事实上,asgi 对 wsgi 虽然不完全兼容,但是很容易兼容。

在不需要 async IO 的情况下,同一台服务器两者性能差距不会太大,因为 Python 始终是 Python,asgi 让很多 wsgi 不能做的事情变得容易做了。
Jirajine
2020-07-25 13:06:58 +08:00
async 不如绿色线程那么直观,但用起来还是很爽的。
JB18CM
2020-07-25 13:07:08 +08:00
python 在 web 没有未来
Vegetable
2020-07-25 13:11:13 +08:00
django 和他的 orm 不能完美适配 async 之前,局面不会有太大变化
mitu9527
2020-07-25 13:15:56 +08:00
同 5 楼,Python 在 web 没有未来
janxin
2020-07-25 13:19:20 +08:00
社区不做一些改变,python 就在 web 没有未来
ericls
2020-07-25 13:22:20 +08:00
我周围的很多公司都用 python 做 web,也没看出有什么问题能让你们觉得没有未来。
janxin
2020-07-25 13:26:14 +08:00
@ericls 因为做数据科学的更多...
ericls
2020-07-25 13:29:22 +08:00
@janxin 的确很多 但是 数据和做 Python 其实是两个社区。
unicloud
2020-07-25 13:41:57 +08:00
是 p y 以后的未来
love
2020-07-25 13:45:44 +08:00
写 web 还是 nodejs 比较合适,js 天生异步,前后端同一语言,typescript 静态检查+vscode,体验比 py 好得多
Nich0la5
2020-07-25 13:47:48 +08:00
java 没异步不还是照样
wuwukai007
2020-07-25 13:49:39 +08:00
wsgi 都用十几年了,都没啥。现实是项目经理让你用 web.py 你也得硬着头皮上
wysnylc
2020-07-25 14:44:12 +08:00
@Nich0la5 #14 有
di94sh
2020-07-25 17:12:30 +08:00
python 的 async 还是有很多场景需要任务队列或者多线程,goroutine 可以平滑的解决很多这种场景,元语言抽象后的异步编程还是很香的。python web 方向 asgi 的使用率肯定会越来越多,但是我认为大部分公司会把需要的地方用合适的语言技术重构成独立的服务。
Nich0la5
2020-07-25 17:13:14 +08:00
@wysnylc 我的表述不对,是没有协程实现的异步
abcbuzhiming
2020-07-25 17:18:05 +08:00
@ericls 程序猿一定要跳出自己的圈子去别处看看,否则的话很容易被自己的圈子误导,python 做 web 有没有问题?当然没问题,它可以做啊。但是有一个叫 Java 和一个叫 PHP 的东西,外带一个 Go 的衬托下,python 做 web 就没未来了,不是你不能做,而是比较优势问题
Trim21
2020-07-25 17:32:58 +08:00
异步、asgi 在 Python 是越来越火了,但是 python 在 web 越来越火了吗...

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/692993

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX