V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
byaiu
V2EX  ›  问与答

reactive programming(rx 系列)现在还有在用吗?

  •  
  •   byaiu · 2022-06-26 20:43:22 +08:00 via iPhone · 1561 次点击
    这是一个创建于 641 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我记得 16/17 年的时候,rx 还是有很多热度的。rxjava 、rxandroid 什么的。当时惊艳于这个编程模式的表达力,也觉得有点理解的门槛。

    这几年似乎销声匿迹了,讨论也不多见。想和大家了解下这个编程模式,是已经消失了吗?
    8 条回复    2022-06-27 09:50:52 +08:00
    0xZhangKe
        1
    0xZhangKe  
       2022-06-26 20:48:08 +08:00   ❤️ 1
    安卓这里一直在用,不过最近开始往 Kotlin 协程转了。
    chihiro2014
        2
    chihiro2014  
       2022-06-26 20:57:04 +08:00   ❤️ 1
    webflux 写起来比 webmvc 难太多,不适合新手入门。
    之前翻译过龙之春的 Reactive Spring 。适合新手入门。讲述了很多 Rx 的场景。
    个人理解,Rx 编程主要是打破了常规多线程编程的方式。把多条线程单打独斗的场景,变成多条线程合作完成。减小并发,增大并行,尽可能压榨 CPU 性能。
    然后将一些常见的业务问题,抽象出一些 API ,简化复杂业务场景的开发。
    对于 Rx ,可以看看 shenyu 网关。主要业务场景,感觉还是网关偏多,Spring Cloud Gateway 也是。

    PS:莫看知秋的 Java 编程方法论系列,看了就是被误人子弟了。
    agdhole
        3
    agdhole  
       2022-06-26 21:48:25 +08:00
    rxjs 很常见
    CraxClive
        4
    CraxClive  
       2022-06-27 00:58:59 +08:00 via iPhone
    rxjs 一直在用呀,写业务很好用
    chinuno
        5
    chinuno  
       2022-06-27 09:00:06 +08:00 via Android   ❤️ 1
    我也是 17 年第一次了解到 rx 。一直想试试,后面过了一两年新项目直接就引入 rxcpp 来用了。
    体验是写起来真的舒服,特别灵活,需求怎么变都不怕,马上就能改完。
    不过也有一些问题,rxcpp 基本上就没人用,看 github 也基本上没人维护了。相比 rxjava 还有一些比较基础的功能没有实现。如果是只有自己做的项目还好,还要其他人一起合作就比较蛋疼,好多人都没法理解这个编程模型
    MakHoCheung
        6
    MakHoCheung  
       2022-06-27 09:06:29 +08:00
    @chihiro2014 最近在学 Project Reactor ,文档的一开始就说它是非阻塞,我好奇 reactor-core (非 reactor-netty )没用到 NIO 它为什么说自己非阻塞,附上链接 https://projectreactor.io/docs/core/release/reference/#_blocking_can_be_wasteful
    chihiro2014
        7
    chihiro2014  
       2022-06-27 09:32:56 +08:00
    @MakHoCheung 个人感觉它只是重新弄了一套多线程编程框架
    byaiu
        8
    byaiu  
    OP
       2022-06-27 09:50:52 +08:00
    @chinuno 我最近也在看 rxcpp ,想在自己的项目上试水。

    有人在用就有点打底了……

    就是纯模板看着有点费力
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1231 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 23:24 · PVG 07:24 · LAX 16:24 · JFK 19:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.