V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iqoo
V2EX  ›  程序员

做一个高性能的小程序 JS 虚拟机有意义吗

  •  
  •   iqoo · 2022-01-05 15:17:01 +08:00 · 2643 次点击
    这是一个创建于 803 天前的主题,其中的信息可能已经有所发展或是发生改变。

    几年前微信小程序 /小游戏出现时发现不支持动态执行,于是研究了一种独特的 JS 虚拟机,架构和传统的虚拟机完全不一样,性能很高,有些特殊的案例甚至可达到原生性能~

    不过由于精力有限,当时只做了一个简单的原型而已,很不完善。由于平时不做小程序开发,花大量时间做出来也用不上。所以之后没继续。

    不知现实中小程序 /小游戏对动态执行是否有很大的需求,以及是否有高性能的要求?

    13 条回复    2022-01-06 20:54:15 +08:00
    66beta
        1
    66beta  
       2022-01-05 15:37:33 +08:00
    华为的桌面组件不就是用了一个开源的微型 JS 引擎,叫啥忘记了
    learningman
        2
    learningman  
       2022-01-05 15:47:22 +08:00
    @66beta #1 JerryScript ?
    kamal
        3
    kamal  
       2022-01-05 15:57:42 +08:00
    这不是可以热更新,绕过审核了?
    iqoo
        4
    iqoo  
    OP
       2022-01-05 19:15:11 +08:00
    @kamal 可以,但不知道有没有什么风险,发现后会被警告吗
    penguinWWY
        5
    penguinWWY  
       2022-01-05 19:16:40 +08:00
    明确讲:有
    mxT52CRuqR6o5
        6
    mxT52CRuqR6o5  
       2022-01-05 19:41:12 +08:00
    意义肯定是有的,小游戏的动态执行也许有些人会去用,小程序的动态执行的话直接嵌个 webview 就行了,通常不会优先考虑 js 虚拟机方案
    DrakeXiang
        7
    DrakeXiang  
       2022-01-05 19:58:13 +08:00
    小程序本身就是一坨翔了, 为什么还要在上面雕花
    chotow
        8
    chotow  
       2022-01-05 20:15:57 +08:00   ❤️ 2
    楼主有能力,希望能为 PWA 添砖加瓦;小程序只会是垄断的工具。
    wukongkong
        9
    wukongkong  
       2022-01-06 13:06:37 +08:00
    vizards
        10
    vizards  
       2022-01-06 14:51:41 +08:00 via iPhone
    去年我基于 taro3 和 eval5 改造了一个公司内的小程序,基本实现了依靠一个 taro-plugin 和简单的后端配置服务来实现小程序全部业务代码的动态执行。总体感觉下来性能瓶颈并不在 js 虚拟机这里,因为我们的 wxml 动态化实现方式是基于 taro3 的 dynamic template ,小程序的基础组件会被打包进静态基础库,只要 js 业务逻辑中不包含过度复杂的计算,eval5 执行 js 的效率和原生 js 的执行效率相差不大。不知道 LZ 的方案是怎样的,还望不吝赐教
    iqoo
        11
    iqoo  
    OP
       2022-01-06 14:55:58 +08:00
    @wukongkong 和这个完全不同。并不是用解释器的思路实现的,解释执行效率太低了。
    iqoo
        12
    iqoo  
    OP
       2022-01-06 14:57:54 +08:00
    @vizards 小程序确实对性能不敏感,很少有大量的计算。不过小游戏可能会多一点,很多游戏逻辑还是比较复杂的。
    wukongkong
        13
    wukongkong  
       2022-01-06 20:54:15 +08:00
    @iqoo 也不能这么说。。。。我们做的小程序就挺复杂的。。。。AR ,什么都上了。。。内存占用过大,ios 还容易闪退。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3906 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 04:17 · PVG 12:17 · LAX 21:17 · JFK 00:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.