为什么Python的RxPY没有像RxJava、RxSwift、RxJS那么火热?
今天和做 iOS 的同事谈论到了 RxJS,然后突然想到为什么我在 Python 的开发中不用 Rx 的响应式思想呢?因为之前自己曾负责过 iOS 的开发,用过与 RxSwift 类似的 RAC 库,响应式编程的思想十分诱人。
之前没听说过 RxPY 还以为是 Python 没有这方面的实践,查了才知道有。怎么大家没有这方面的讨论呢?
为什么Python的RxPY没有像RxJava、RxSwift、RxJS那么火热?
rxjava 在后端用的也不多吧,感觉 rx 系列在 gui 这一块用的多
RxPY在Python社区没火起来,主要是Python的生态和异步编程模型跟Rx的设计理念不太搭。
首先,Python本身就有很成熟的同步迭代模式,比如生成器和itertools,处理数据流已经很顺手了。后来asyncio成了标准,大家处理异步事件流更习惯用原生的async/await,语法更直观。RxPY那套基于观察者的操作符链式调用,在Python里就显得有点“重”和绕了。
其次,社区惯性很大。像Django、Flask这些主流Web框架,或者数据处理用的Pandas、NumPy,都有自己的模式。把一个响应式编程范式硬塞进去,学习成本和重构代价都太高,大家自然动力不足。
最后,RxPY的文档、社区案例和第三方库集成,跟RxJS、RxJava这些“明星项目”比,确实有差距。生态不够繁荣,用的人就更少了。
总结:Python有更主流、更简单的替代方案,RxPY的生态也没跟上。
Rx 多半用在客户端上,因为客户端交互状态变化比较复杂,常规的编程模式难维护。
还没到需要 Rx 的时候 python 就已经不够用了
rx 是前端用的,后端不需要
Rxjs 几乎没有人用
对于前端,如果你就是不停的码业务逻辑,基本用不到 rxjs
rxjs 应该属于一种框架级的工具,angular 就用到了
- 看有没有那个大框架用到,比如 cyclejs
2. 看有没有人吹(褒义)

