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

几个移动混合开发框架,目前来看哪个前景更好?

  •  
  •   dyllanwli · 2018-04-30 23:40:59 +08:00 · 10464 次点击
    这是一个创建于 2394 天前的主题,其中的信息可能已经有所发展或是发生改变。

    18 年了,想看看各位对于移动端的看法。

    17 条回复    2018-05-01 22:37:35 +08:00
    momocraft
        1
    momocraft  
       2018-04-30 23:48:03 +08:00
    2018 年了, 一個都沒學的可以考慮趕下一波了?
    murmur
        2
    murmur  
       2018-04-30 23:52:17 +08:00
    混合框架不就 cordova 一个吗
    剩下的都是号称自己是 native 的 不过也是 出了问题也都是 native 级的
    murmur
        3
    murmur  
       2018-05-01 00:08:08 +08:00   ❤️ 1
    光水忘了给结论了
    rn 的例子: https://reactnative.cn/cases.html,注意是京东金融不是京东,QQ 空间不是 QQ,如果是京东肯定是重 webview 的框架,他可是有完整 wap 版的
    cordova 更惨了: https://cordova.apache.org/ ,一个认识的都没有,但是我喜欢这个,企业开发用的爽,不考虑那么多加密混淆的东西,就是快速出效果,你甚至可以让客户买一批好的手机定制。。比如某些个要求加 NFC 的
    所以综上所述,火的还是 native,原因很简单,绝大多数 app 都是伪需求,大浪一过就全倒闭了,以前的 xx 贷 xx 借 xx 小车共享 xx 死了多少都数不清了,未来随着资本合并死的会更多
    同样的,就 ios 自从乔布斯死了之后,bug 无数,每次都要一大堆 native 程序员擦屁股

    最可怕的是腾讯的影响力太大了,微信随便搞个啥玩意都能抓来一大批腾讯系的来试水
    murmur
        4
    murmur  
       2018-05-01 00:13:02 +08:00
    另外需要提一下国产 hbuilder 系的框架,他家据说做了个 jsbridge 可以通过类似反射的方法跳过 cordova 和 rn 那种 bridge 层直接调库的方法,所以敢号称增加 40w api 数目,我不知道这样有什么风险
    另外一种就是我喜欢的,拼图,native 部分做 header、navbar、动画,主体内容保持 webview,通过部分 native 权衡复用度和性能
    他家的有个 ui 据说在百度指数上追平 rn,虽然我有点不信,看一眼是混合了源生 js 和 jquery 的书写风格,类似 bs 应该不包含 mvvm 部分
    murmur
        5
    murmur  
       2018-05-01 00:16:13 +08:00
    真正用的时候,即便是稍微有点钱的创业公司,选择的技术路线可能你都说出来不信
    他们在网上碰 react/rn,用的是什么呢
    前年还是啥时候有个直播网站还一个团购网站就是因为轻信了某国产框架超强加密的广告,被直接扒了源代码都没混淆的,甚至有个直播 app 把支付宝的 private key 写到了 app 里。。
    niubee1
        6
    niubee1  
       2018-05-01 01:05:01 +08:00
    折腾这些邪门歪道的奇技淫巧还不如多花两钱找个靠谱的 Native 程序员
    dyllanwli
        7
    dyllanwli  
    OP
       2018-05-01 06:23:55 +08:00 via iPhone
    Native 是好啊 但是谁家不都希望缩短项目周期 跨平台等等 混合开发也符合大多数公司初期利益
    noli
        8
    noli  
       2018-05-01 07:22:32 +08:00   ❤️ 1
    随着 WASM 正式成为标准,一大票 编译型语言,例如 C/C++ ObjC Rust 支持生成 WASM 之后,什么移动混合框架都要死。
    因为有 WASM 之后,相当于有了一个可以把任何编译型语言 JIT 的方式,不再是 VM 型语言例如 Java C# Js 的专利。

    这样 iOS 上也可以在没有 VM 的情况下,动态注入新功能,修改旧功能,并且性能保持很高。

    除非 JS 也拥有编译型语言的便利——对于大型工程项目有很好的支持,例如强类型特征等等。
    否则 JS 已经没有任何跨平台优势了。
    alex321
        9
    alex321  
       2018-05-01 08:12:36 +08:00 via Android
    我们在用 dcloud 家的 html5plus。
    abcbuzhiming
        10
    abcbuzhiming  
       2018-05-01 09:40:41 +08:00
    @noli 你说的这玩意好像没有大面积应用吧
    dingtianran
        11
    dingtianran  
       2018-05-01 09:53:47 +08:00
    dyllanwli
        12
    dyllanwli  
    OP
       2018-05-01 10:05:47 +08:00
    wasm 感觉还不是近期的变革,js 还能续命很久的
    dyllanwli
        13
    dyllanwli  
    OP
       2018-05-01 10:08:20 +08:00
    @dingtianran apple 的这个跨平台是指跨 mac,ios,watchos,tvos 等等之类的。。。
    ljcarsenal
        14
    ljcarsenal  
       2018-05-01 10:08:37 +08:00 via Android
    混合开发最主要的功能还是热更新吧
    feverzsj
        15
    feverzsj  
       2018-05-01 10:26:42 +08:00
    外包最省事
    stdnull
        16
    stdnull  
       2018-05-01 17:19:04 +08:00 via Android
    native 开发瑟瑟发抖😭
    lsvih
        17
    lsvih  
       2018-05-01 22:37:35 +08:00
    @murmur 你说的那个是 mui,除了在他们架构下做 hybrid app 不好做工程化、有一些迷之 bug 要做 hack 之外用起来还行,可以和 vue 之类的框架配合使用。

    号称可以用 40w api 就呵呵了,他们提供的 native.js 语法写起来很别扭而且很粗糙,做不了什么很完整的 native 功能,大多只能自己去写原生然后以他们 H5+SDK 的方式去调用。有这种需求的不如一开始就去做原生。

    还有就是社区不活跃,官方社区里基本都是伸手党,几个简单的问题可以反反复复问;生态不完善,很多可以用 cordova plugin add 解决的插件 html5+ 却没有;文档太杂乱,几年前就有这个问题现在还是没解决好,几个产品的文档乱七八糟地堆在一起。

    但是比较喜欢他们的思路,就是做 webview,把对多 webview 的支持做到最好,比如以 webview 嵌套的形式做列表滚动啥的可以基本达到原生的性能。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2546 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 15:50 · PVG 23:50 · LAX 07:50 · JFK 10:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.