V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
gogolts
V2EX  ›  程序员

[技术选型, 混合开发] 原生+h5 对比原生+react native 或者 flutter

  •  
  •   gogolts · 337 天前 · 3080 次点击
    这是一个创建于 337 天前的主题,其中的信息可能已经有所发展或是发生改变。

    背景:扫地机器人 App 开发,主要是涉及到蓝牙定位能力。目前 App 采用的技术栈是大部分用原生开发,小部分页面用 H5 开发。公司层面主要是想节约成本,叫调研下原生+react native 或是 flutter 。 问题:小公司就我一个前端,vue 和 react 都会写一写,但是没有接触过 react native 和 flutter ,看了看 react native 的官方文档,感觉配置环境都好麻烦。个人是想保持现状原生+h5 来继续搞,疑问是改成原生+react native 或者 flutter 真的收益很高吗,这样的混合开发会不会遇见巨坑啊

    第 1 条附言  ·  336 天前
    国外项目,不需要考虑小程序,只用考虑 android 和 ios 两端
    26 条回复    2024-01-24 16:03:56 +08:00
    tool2d
        1
    tool2d  
       337 天前
    收益高不高不知道,项目开发途中换底层大框架,能把人累半死是真的。
    mightybruce
        2
    mightybruce  
       337 天前
    react native 和 flutter 都是做界面 UI 的, 如果 H5 没有问题, 切换这些没有意义。
    关键组件用原生就可以了

    建议分析是否需要跨端或在多个平台上构建应用程序,包括 iOS ,Android ,Web 和小程序等。
    iOCZS
        3
    iOCZS  
       337 天前
    可以考虑逐步迁移,原生集成 flutter 或 RN 的形式。
    推倒重来的话,就 flutter 集成原生
    gogolts
        4
    gogolts  
    OP
       337 天前
    @tool2d 也不是换底层框架吧,是准备把 react native 整合到已有的原生项目中,https://reactnative.dev/docs/integration-with-existing-apps
    gogolts
        5
    gogolts  
    OP
       336 天前
    @mightybruce 确实是需要跨平台到 ios 和 android, 目前这个 app 关键流程如定位和蓝牙是用的原生实现的,h5 就搞了几个简单的展示页面,没咋试过用 h5 搞蓝牙。领导是觉得养两个原生团队投入比较大,想用 react native 来搞混合开发,看了下 react native 对蓝牙啥的支持应该要比 h5 好些。
    KevinLock
        6
    KevinLock  
       336 天前
    如果没有 Web 端,小程序端使用的需求,可以考虑 Flutter 。
    如果是重新写就纯 Flutter+原生底层交互,这样最好。
    如果开发周期短就得考虑 Flutter 混合开发的方式了,逐步迁移到 Flutter 里。但这样避免不了会使用 FlutterBoost 这样的框架解决引擎复用、路由跳转等问题,其坑还是蛮多的。
    我司去年一年都在需求迭代中逐步把原生页面迁移到 Flutter 端,确实比较累人。
    RN 没写过,曾经只接触过 Weex ,解决两端 UI 一致性挺费事的,拖拽等需要频繁交互的也还是需要原生来做,而且原生需要的开发量也不少。
    paledream
        7
    paledream  
       336 天前
    如果从节约成本的角度出发,那就不应该替换掉成熟度高、跨平台好、生态丰富的 H5 ;而是把原生替换成 RN 或 Flutter 吧?
    donotquestion
        8
    donotquestion  
       336 天前
    我做锁 RN 的,第三方蓝牙框架不好用,做页面和逻辑用 RN 确实省事
    jeesk
        9
    jeesk  
       336 天前
    肯定 h5 呀. 当然必须得会折腾 ios/android 后端.
    gogolts
        10
    gogolts  
    OP
       336 天前
    @KevinLock 想请问下为什么要逐步迁移保持统一呢,我们现在人力也不太够,前端就我一个人,开发经验不足很怕搞不定。我这边想的是如果确定了要 RN 集的话,后续需求大部分用 RN 来写,少部分交给原生团队去弄。
    jrtzxh020
        11
    jrtzxh020  
       336 天前
    蓝牙和定位能力,小程序不是就能实现?
    meteor957
        12
    meteor957  
       336 天前
    react native
    xieren58
        13
    xieren58  
       336 天前
    国内的话, 不如小程序得了...
    angrylid
        14
    angrylid  
       336 天前 via Android
    Flutter/RN 比 Web 节约成本的结论是如何得出的?
    GTim
        15
    GTim  
       336 天前
    写扩展 RN 比 Flutter 简单多了。
    XXWHCA
        16
    XXWHCA  
       336 天前
    不要慌啊,换了 RN 或者 flutter 也是原生那波人写,你就写些简单页面和前端页面就行了
    okakuyang
        17
    okakuyang  
       336 天前 via iPhone
    f 和 rn 都是 ui 框架,如果 ui 上没有太大性能瓶颈,就用 web 就行了。换个好点的 web ui 框架,把控件做好点,做的像原生 app 点。rn 和 f 开发起来都不会有 web 方便的。你老板看起来是想开掉 ios 或者安卓其中一个人呢。
    gogolts
        18
    gogolts  
    OP
       336 天前
    @angrylid 想的是 Flutter/RN 比 Web 更加支持蓝牙和定位这些能力吧,后面遇见需要蓝牙和定位能力的时候可以直接用 Flutter/RN 写。
    gogolts
        19
    gogolts  
    OP
       336 天前
    @okakuyang 应该是的,老板一直吐槽原生团队资源占用太多了。我自身想法确实是还是 web 接着搞就成了。
    okakuyang
        20
    okakuyang  
       336 天前 via iPhone
    @gogolts 哈哈,虽然不是想让原生的同事丢掉工作。蓝牙定位应该是已经写好了的代码吧,据我所知蓝牙定位也没有啥优化的空间。你老板是不是想同时开掉两个人了?
    gogolts
        21
    gogolts  
    OP
       336 天前
    @okakuyang 原生团队 android 和 ios 各四个人,维护两个 App, 其中一个主 App 有 android 和 ios 两端,另一个次 App 只有 android 端。目前我们开发形式是原生+web ,老板想先拿次 App 试一试,逐步迁移到 RN/Flutter, 这样次 App 就能有两端了。后续有了经验再考虑主 App 的事情。
    han3sui
        22
    han3sui  
       336 天前
    现在模式改成大部分页面用 H5 开发,小部分页面用原生开发不就好了?涉及到原生功能的,H5 通过 jsBridge 调用原生功能
    srect2018
        23
    srect2018  
       336 天前
    react native 写 ui 页面倒是很快,和 web 一样。如果涉及到安卓和 ios 原生的,没有找到合适的库,就得自己来写原生那部分,然后和页面上进行通信处理。
    okakuyang
        24
    okakuyang  
       336 天前 via iPhone
    @gogolts 8 个人做 app ,不知道什么体量的 app 啊。
    gogolts
        25
    gogolts  
    OP
       336 天前
    @okakuyang 一个操控割草机的 App, 主要弄些建图绘制,硬件升级之类的能力,个人感觉功能不是很多
    laoona
        26
    laoona  
       335 天前
    8 个原生,我是老板,我也想开掉一半人。[狗头保命]
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5369 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 07:43 · PVG 15:43 · LAX 23:43 · JFK 02:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.