V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
willsams
V2EX  ›  前端开发

小程序的高性能通信方案

  •  
  •   willsams · 33 天前 via iPhone · 1101 次点击
    这是一个创建于 33 天前的主题,其中的信息可能已经有所发展或是发生改变。
    当前各家小程序的逻辑层和渲染层的通信,都存在数据量与通信频率的限制,很容易导致 CPU 跑满。
    是否还有更好的实现方式支撑较大数据量与高频率低延迟的通信?
    求大佬们指点
    8 条回复    2025-06-12 16:25:48 +08:00
    cxe2v
        1
    cxe2v  
       33 天前
    这问题几年前面试都有人在问了,现在还没找到这个问题的答案吗
    weixind
        2
    weixind  
       33 天前
    你是说要设计小程序的实现层吗?

    还是基于现在的小程序的方案。

    在各家小程序的史上雕花怕是有瓶颈。

    自己搞的话,RN 的 JSI 那一套思路应该能满足你的要求。
    willsams
        3
    willsams  
    OP
       33 天前 via iPhone
    @cxe2v 哈哈,正在研究,也来社区了解了解不一样的思路
    willsams
        4
    willsams  
    OP
       33 天前 via iPhone
    @weixind 是的,正在实现一个自己的。但通信协议层不理想。 看 rn 在抛弃 jsi ,新架构不知道是否能用于 webview 与原生的交互
    weixind
        5
    weixind  
       32 天前
    @willsams #4

    RN 已经要抛弃 JSI 了吗,我看新架构刚刚全量不久,就是基于 JSI 的。

    JSI 的思路是 js 和 C++ 可以相互操作,要写引擎代码,不过基本上没啥性能瓶颈了。

    lynx 的架构有点类似小程序。是属于渲染层和逻辑层分开,不过我还没看 lynx 的源码。不知道他们怎么交互的。可能思路和 JSI 差不多。
    willsams
        6
    willsams  
    OP
       32 天前
    @weixind 是我记忆混了,新架构用的是 JSI 。
    willsams
        7
    willsams  
    OP
       32 天前
    @weixind 感觉 JSI 可能可以用于解决原生 与 JS 引擎之间的通信问题。 但对于原生与 webview 之间的通信问题还用不上
    weixind
        8
    weixind  
       32 天前   ❤️ 1
    @willsams #7 你说的对。RN 和 lynx 渲染层都不是用的 webview 。还是用 webview 做渲染层的话,基本上能做的优化就是 Bridge 层吧。搞一下 protobuf 之类的二进制。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2942 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 00:27 · PVG 08:27 · LAX 17:27 · JFK 20:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.