1
ClericPy 2020-07-25 12:27:23 +08:00
爱用什么用什么, 协程给我最大的帮助就是再也没有阻塞的地方, 而且任何任务都可以无痛 cancel, 如果用多线程, 想杀它难的要死
现在我基本只用 Fastapi 了, 但是看面试还是 Python3 没用过协程的占多数, 所以主流应该还是老一套, ASGI 正在变好, 绝大多数库也都有了协程替代品, 早学早享受 |
2
heiheidewo 2020-07-25 13:01:39 +08:00 3
只会 python 哪来的未来
|
3
ericls 2020-07-25 13:05:06 +08:00
asgi 应该会成为 async web 的主流,但是 wsgi 不会被完全取代。
事实上,asgi 对 wsgi 虽然不完全兼容,但是很容易兼容。 在不需要 async IO 的情况下,同一台服务器两者性能差距不会太大,因为 Python 始终是 Python,asgi 让很多 wsgi 不能做的事情变得容易做了。 |
4
Jirajine 2020-07-25 13:06:58 +08:00 via Android
async 不如绿色线程那么直观,但用起来还是很爽的。
|
5
JB18CM 2020-07-25 13:07:08 +08:00 16
python 在 web 没有未来
|
6
Vegetable 2020-07-25 13:11:13 +08:00
django 和他的 orm 不能完美适配 async 之前,局面不会有太大变化
|
7
mitu9527 2020-07-25 13:15:56 +08:00
同 5 楼,Python 在 web 没有未来
|
8
janxin 2020-07-25 13:19:20 +08:00 via iPhone
社区不做一些改变,python 就在 web 没有未来
|
9
ericls 2020-07-25 13:22:20 +08:00 1
我周围的很多公司都用 python 做 web,也没看出有什么问题能让你们觉得没有未来。
|
12
unicloud 2020-07-25 13:41:57 +08:00 via iPhone
是 p y 以后的未来
|
13
love 2020-07-25 13:45:44 +08:00
写 web 还是 nodejs 比较合适,js 天生异步,前后端同一语言,typescript 静态检查+vscode,体验比 py 好得多
|
14
Nich0la5 2020-07-25 13:47:48 +08:00 via Android
java 没异步不还是照样
|
15
wuwukai007 2020-07-25 13:49:39 +08:00
wsgi 都用十几年了,都没啥。现实是项目经理让你用 web.py 你也得硬着头皮上
|
17
di94sh 2020-07-25 17:12:30 +08:00 via iPhone
python 的 async 还是有很多场景需要任务队列或者多线程,goroutine 可以平滑的解决很多这种场景,元语言抽象后的异步编程还是很香的。python web 方向 asgi 的使用率肯定会越来越多,但是我认为大部分公司会把需要的地方用合适的语言技术重构成独立的服务。
|
19
abcbuzhiming 2020-07-25 17:18:05 +08:00 2
@ericls 程序猿一定要跳出自己的圈子去别处看看,否则的话很容易被自己的圈子误导,python 做 web 有没有问题?当然没问题,它可以做啊。但是有一个叫 Java 和一个叫 PHP 的东西,外带一个 Go 的衬托下,python 做 web 就没未来了,不是你不能做,而是比较优势问题
|
20
Trim21 2020-07-25 17:32:58 +08:00
异步、asgi 在 Python 是越来越火了,但是 python 在 web 越来越火了吗...
|
21
maemual 2020-07-25 17:38:21 +08:00 2
我怎么感觉 Python Web 的未来是 Golang 呢。。。。
|
22
Vibra 2020-07-25 17:39:16 +08:00 via iPhone
异步是编程的未来,不是 py 的未来
|
25
so1n 2020-07-25 20:34:09 +08:00
使用的 fastapi 好处不止是协程,还有结合 TypeHint 这个也很重要的
|
26
ericls 2020-07-25 21:14:59 +08:00 via iPhone
@abcbuzhiming 除了 java 你说的两种都用过 还用过别的语言写 web 比如 Node elixir rust 我也不觉得 Python 在 web 会死掉. 写起来快 性能不差 你能说说具体为什么 Python 会死吗?
|
27
abersheeran 2020-07-25 22:00:46 +08:00
只会 Python 是没有未来的。异步的确是 Python web 的未来。
|
28
GoLand 2020-07-25 22:49:45 +08:00
但凡在项目里用过 Python 异步的也说不出 “异步是 Python web 的未来这种话”,Python web 的未来真的是 Go 。
|
29
TypeError 2020-07-25 22:58:43 +08:00 via Android
@abcbuzhiming 跳出圈子的话,欧美还一堆公司用 Ruby 呢
|
30
youngce 2020-07-25 23:11:52 +08:00
以前 Python 多线程异步解决不了的问题,协程异步就能解决了吗?协程异步确实减少了系统开销,协程异步代码一定程度更简单。但是你去看看 go 的协程是多么的无脑且高效。。。。Python 异步也不是一个什么新话题了,真没必要说什么越来越火了
|
31
Hstar 2020-07-25 23:53:30 +08:00
异步的确是 Python Web 的未来,只是这未来有点远,远得像是在天际。
目前 django 本身对 async 的支持也只是 in progress,什么时候 ORM 和底层 SQL 连接库都支持 async 了再说。 |
32
qiaobeier 2020-07-26 00:01:36 +08:00
web 的 py 是好 py
|
33
jeeyong 2020-07-26 01:00:19 +08:00
半开个玩笑说, WEB 的未来没有 Python
|
34
leimao 2020-07-26 01:02:16 +08:00
个人感觉做 client 还可以,做 server 那应该别想了
|
35
laike9m 2020-07-26 02:30:59 +08:00 via Android
fastapi 的主要优势并不是异步,而是依赖注入和自动文档生成,此外就是好得令人发指的开发文档了。用过的都知道有多香
|
36
laike9m 2020-07-26 02:33:38 +08:00 via Android
对了,原生支持 pydantic 也是一大优势
|
37
phithon 2020-07-26 02:44:12 +08:00
python web 脱离了 django 生态,没有未来
|
38
forrestchang 2020-07-26 03:08:07 +08:00
我司 10 亿级 PV 的 Python Web 项目,也没什么问题,用的 wsgi 。
|
39
abersheeran 2020-07-26 04:59:12 +08:00 4
要申明一下,ASGI 本身就是 Django 团队提出来的。fastapi 红的快主要是率先提出了 type hint 进行类型检查 /转换 + 自动生成 docs 这个概念。而 Django 由于尾大不掉,现在要全部转换异步生态需要很久,但绝不是不转换了。我预测在 21/22 年就可以全异步了。
Django 从过去,到现在,始终是 Python web 开发里最好的框架,没有之一。说实话,fastapi 就是个拼接怪罢了,它自己什么也没实现,type hint + openapi 是用的 pydantic,web 相关所有组件全部搬的 starlette 。 Python 的 web 生态,除了 Django,其他的 web 框架还真算是有生态?有多少是强耦合的必需品?基本都是通用的,flask 用的照样可以走 bottle 。而现在 ASGI 里,fastapi 能用的,照样可以走 starlette/index.py ,没有框架有 Django 一样的统治地位。我虽然自己也写了实际投入了生产的 web 框架,但我心里最好的 web 框架依旧是 Django,并且只有 Django 。 |
40
abcbuzhiming 2020-07-26 09:12:08 +08:00 1
@ericls 我给你举个例子好了,java 写 PC UI 。有没有,有啊,被论坛天天吹的 IDEA 全家桶不就是 java 写的。但是 java 写 UI 在业界是主流还是非主流,自己扪心自问一下就明白了。
Python 写 Web 会不会死,当然不会,我相信 Python 写 web 的那几个框架会继续进化下去,甚至十几年后,只要 Python 没死,Python 仍然有可能会被人用来写 web 。但是,“能够用”和“大家都愿意用”,这是两个概念。 你问我什么原因,比较优势问题,另外一个就是马太效应。其实这真的很明显了,我真的觉得不是你看不出来 python 在写 web 这个问题上根本没法和 java,php 甚至 go 抗衡。而是你拒绝承认这点。可能你爱着 python 吧 |
41
abcbuzhiming 2020-07-26 09:15:56 +08:00
@TypeError Ruby on Rail 是业界第一在 ORM 领域搞出 ActiveRecord 模型和以链式调用实时生成 sql 查询语句的。这两点导致它当年可以开箱即用,极大的解放了 CRUD 的劳动强度。不过随着时间的过去这几板斧被其它语言学过去了。这东西就有点明日黄花了。用还是有人用的,不过我上面说了“有人用”和“大家都愿意用”,这是两回事
|
42
ericls 2020-07-26 09:17:18 +08:00
@abcbuzhiming 我还真看不出来。。。。 而且我觉得 php 和 java 也没法和 go 在 web 方面抗衡。我觉得可能是所处的环境不一样吧,周围有一些公司还在讨论用 python 替换 php 呢(至少去年底他们在讨论这个问题,后来疫情就没聚会了)。
|
43
zqguo 2020-07-26 10:28:07 +08:00
用 Node 写 web 不香吗?(狗头)
|
44
yzk66880 2020-07-26 10:46:57 +08:00
emmmm, 你上手用 async 生态写几个接口就知道了.... 很多别扭的地方
|
45
CharAct3 2020-07-26 10:49:05 +08:00
@abersheeran fastapi 其实可以改个名字叫 starlette-rest-framework,不过作者确实很用心,文档写的很好,又会营销,也算是为 asgi 生态做出了贡献吧😂
|
46
676529483 2020-07-26 11:19:33 +08:00
且不说语法和开发者的素质,可以测试下 fastapi 和 gin 在 QPS 上的差距,不是一个异步可以挽救的
|
47
echo1937 2020-07-26 11:21:43 +08:00
@ericls #42
Web 开发方面,没有哪个语言社区是具有全面的压倒性优势的,几乎没有“你无我有”的东西,更多的是差异化优势。 即使某个语言在某个方面有优势,也达不到几倍的优势,所以相互替换的意愿都不高。 从最近几年的情况来看,只有 ruby 和 php 在 web 领域份额丢失比较严重,他们都是因为语言自身社区活力下降导致的。 |
49
myCupOfTea 2020-07-26 11:58:05 +08:00 via Android
aio 有场景限制哎,python 的多线程模型不是对 io 挺友好的嘛
|
50
myCupOfTea 2020-07-26 12:03:26 +08:00 via Android
处理消息有时效性的需要用 aio 要注意,之前爬虫 500 个 future,aio-pika 那边接消息会很慢,发消息也经常超时
|
51
CosimoZi 2020-07-26 12:31:38 +08:00
某门语言的 fanboy 怎么这么多啊
|
52
deali 2020-07-26 12:41:29 +08:00
@abcbuzhiming .netcore 现在也不错了
|
53
charlie21 2020-07-26 12:55:10 +08:00
web 的未来有或没有 python 随便,那么 web 的未来一定一定会有哪些语言呢?
|
54
fox0001 2020-07-26 13:19:12 +08:00 via Android
未来,关键还是你做出个什么。PHP 有未来吗?人家用 PHP 造了 Facebook
|
55
fox0001 2020-07-26 13:20:04 +08:00 via Android
重点还是钱途吧
|
56
rust 2020-07-26 14:06:43 +08:00
哪有什么语言是 XXX 的未来,也没有 XX 技术是 XX 领域的未来...
金主爸爸想用什么语言,什么框架,那什么就是未来... |
57
abersheeran 2020-07-26 17:23:17 +08:00
@CharAct3 对。它的作者,营销能力属实让我羡慕……我要有这个水平,也不至于做个小程序员了。
|
58
LokiSharp 2020-07-26 20:11:35 +08:00 via iPhone 1
CPython 没有未来
|
59
dvaknheo 2020-07-26 23:27:17 +08:00
我记得 python 有个 laravel 的模仿者很活跃。
但我觉得本身 laravel 就把 php 带偏了。 web 的开发效率要比运行效率重要得多。 其中,开发效率包括了调试效率,最怕的是: 这东西怎么冒出来的,和,我动了这里,怎么我没注意到的地方也崩了? |
60
johnsona 2020-07-27 00:35:00 +08:00
@abersheeran 可惜很多人不懂,你说 django 好,绝大多数情况都会收到一句回复“但是 django 太重了”,我现在听到这句话就火大,spring 还重呢,有本事别用啊,你看多少人用?找个轻的框架是想要写 toy ? flask 谁用谁知道!!!这框架是轻了,但是项目打了不得模块化开发?不得用上各种扩展,flask 那个扩展又是良莠不齐,真是糟心。还有哦,很多公司那个体量,就别操心高并发的事情了,就算后期访问量暴涨,不是还有 ins 公司的经验可以借鉴吗?不知道瞎搞什么。最近写 flask 真是写得心累
|
61
Carlgao 2020-07-27 09:27:14 +08:00
动态语言写 web 是真的操蛋,刚开始写起来很爽,后期重构的时候简直了。
现代的静态语言写起来约束力就好很多,很多错误在编译器就能检查出来,而且有开箱即用的测试,代码健壮性也有保证,所以真看不到 python 在 web 的未来。 |
63
weizhen199 2020-07-27 11:07:39 +08:00
我大兜奈特,10086 年前就开始异步 web 了 /doge
|
64
linw1995 2020-07-27 11:12:08 +08:00
异步是未来,多任务处理起来太舒服了
|
65
qzxs 2020-07-27 12:05:05 +08:00
同,Python Web 没有未来。
|
66
DanielYao 2020-07-27 12:05:35 +08:00
.net core 退出群聊......
|
67
ychost 2020-07-27 16:01:20 +08:00
spring 退出群......
|