• 请不要在回答技术问题时复制粘贴 AI 生成的内容
v423
V2EX  ›  程序员

[求助]跨平台(Android&iOS)框架选型

  •  1
     
  •   v423 · Jun 6, 2023 · 5236 views
    This topic created in 1248 days ago, the information mentioned may be changed or developed.

    现在的需求是做个打卡记录 app ,每个任务要跑 3-10 个地点,到达之后通过 app 定位打卡并且拍照、录像进行确认 app 需要支持纯离线运行所以没法用小程序或者 web 处理,录像一分钟本地缓存就满啦 预估单次记录的数据总量在 100 张照片+5 段视频,单个任务上传总量不超过 3g

    技术栈:没写过原生,react 能写业务用的不多,vue 熟悉但是在 uniapp 上被坑过不太想用

    请问常见的跨平台框架,对于处理大量本地照片更友好些呢?

    43 replies  •  2023-06-08 14:21:30 +08:00
    wingkwanli888
    wingkwanli888
    Jun 6, 2023 via iPhone❤️1
    1
    Webview + vant 和原生一样丝滑
    D2h0VL89HMAU417B
    D2h0VL89HMAU417B
    Jun 6, 2023❤️3
    2
    不写原生就 flutter 吧
    wingkwanli888
    wingkwanli888
    Jun 6, 2023 via iPhone❤️1
    3
    @wingkwanli888 app 放个 lighthttpd 跑 vant
    elechi
    elechi
    Jun 6, 2023❤️1
    4
    MAUI
    KT0J
    KT0J
    Jun 6, 2023❤️1
    5
    不用原生,那就选 flutter 。
    tsanie
    tsanie
    Jun 6, 2023❤️1
    6
    MAUI
    raykle
    raykle
    Jun 6, 2023❤️1
    7
    那 React Native 适合你
    AreYou0k
    AreYou0k
    Jun 6, 2023❤️1
    8
    flutter
    zongren
    zongren
    Jun 6, 2023❤️1
    9
    webview+react/vue+原生插件
    可靠性和后续维护有保障
    rs9G7IrdOdiNR3h1
    rs9G7IrdOdiNR3h1
    Jun 6, 2023
    10
    @wingkwanli888 现在 APP 不是一般不让套壳了吗?
    isSamle
    isSamle
    Jun 6, 2023❤️1
    11
    Flutter
    xiqishow
    xiqishow
    Jun 6, 2023❤️1
    12
    套 h5 手机内存不足的时候 拍照会刷新整个 webview 页面
    sks4728
    sks4728
    Jun 6, 2023❤️1
    13
    flutter 一把梭, maui 国内地图 sdk 用起来感人。 当然如果是嵌个 H5 用什么都一样
    x77
    x77
    Jun 6, 2023❤️1
    14
    Flutter 框架,要学一下 Dart 语言,对于前端背景的开发者很容易上手。
    iStar
    iStar
    Jun 6, 2023❤️1
    15
    同时用 React Native 和 Flutter 的开发过几款 app 的原生背景开发者推荐:Flutter
    C64NRD
    C64NRD
    Jun 6, 2023❤️2
    16
    如果会前端强烈推荐 react native ,可以体验一下我用纯 react native 开发的跨端 app: https://fanka.fuhaojianshen.com/
    musi
    musi
    Jun 6, 2023❤️1
    17
    涉及到系统级的 API 还是建议原生
    WebKit
    WebKit
    Jun 6, 2023 via Android❤️1
    18
    Flutter
    GlobalNPC
    GlobalNPC
    Jun 6, 2023❤️1
    19
    作为测试我想说,flutter 用不好是真的卡
    Vitta
    Vitta
    Jun 6, 2023❤️1
    20
    Flutter 吧
    RN 听说维护起来很难受, 特别是版本升级的时候。不知道现在什么样了。
    Cordova, ionic 别碰了,丝滑个 jer
    LeoQ689
    LeoQ689
    Jun 6, 2023❤️1
    21
    Flutter
    leokun
    leokun
    Jun 6, 2023
    22
    @xiaoshan5733 很👍
    AloneHero
    AloneHero
    Jun 6, 2023 via Android
    23
    @iStar 能细说下原因吗
    wingkwanli888
    wingkwanli888
    Jun 6, 2023 via iPhone❤️1
    24
    @whooami 只要 app 的 UI 能过 Apple 的断网测试就可以了

    就是离线渲染不白屏,我司最近两年的移动端项目都是 vant 写的,app 内嵌本地 web 服务器离线跑 vant
    ByteRan
    ByteRan
    Jun 6, 2023
    25
    @xiaoshan5733 #16 有一说一,你这个 APP ,没啥复杂的场景
    ByteRan
    ByteRan
    Jun 6, 2023❤️1
    26
    涉及到定位打卡并且拍照、录像+ 100 张照片+5 段视频,还是上 flutter 吧,其它可能都不满足的你需求
    gluttony
    gluttony
    Jun 6, 2023❤️2
    27
    如果用 React Native 的话不要用 Bare React Native ,用 Expo 。React Native 很多第三方库年久失修,特别是包含 native 代码的库,遇到问题时没双端开发经验很麻烦。

    目前甚至按 RN 官方文档生成 Bare React Native 的脚手架项目,gradle.properties 指定的 FLIPPER_VERSION=0.125.0 在添加特定依赖包后会产生编译错误,需要改成 FLIPPER_VERSION=0.128.0 才能修复。对初学者极度不友好。

    Expo 所属公司积极维护生态圈,集成并改进了很多常用第三方库,还算靠谱。
    C603H6r18Q1mSP9N
    C603H6r18Q1mSP9N
    Jun 6, 2023❤️1
    28
    Flutter 吧
    fox0001
    fox0001
    Jun 7, 2023 via Android❤️1
    29
    Flutter ,推荐结合 Provider
    dayeye2006199
    dayeye2006199
    Jun 7, 2023❤️1
    30
    为啥不用 RN 呢?虽然有点老,但是久经考验
    roundgis
    roundgis
    Jun 7, 2023
    31
    @wingkwanli888 web 服务器用什么库?
    wobuhuicode
    wobuhuicode
    Jun 7, 2023 via iPhone❤️1
    32
    实在看不出你这个 app 有什么性能上的难点。rn 和 flutter 都没问题。定位拍照录像这些都有稳定的第三方库。至于内容上传,自己写个队列上传就好了。处理大量本地图片是指怎么样的处理这个没看懂。是要大量加水印?
    uniy
    uniy
    Jun 7, 2023❤️1
    33
    无论选择 React Native 或者 Flutter ,理论上讲他们都是 ui 框架,涉及到系统级别的,就要处理桥接问题,比如定位、拍照、录像、存储,这些都要与原生交互。人手不多,技术栈不全,我建议你直接选择原生开发。否则,否则,你就会遇到开发工具,切来切去,开发语言切来切去,ui 适配各种机型......,这些都还是在你都懂的情况下。 总来来说,建议用原生开发。
    rs9G7IrdOdiNR3h1
    rs9G7IrdOdiNR3h1
    Jun 7, 2023
    34
    @wingkwanli888 这样啊,受教了
    lawsiki
    lawsiki
    Jun 7, 2023
    35
    Mark 一下,和我现在准备做的需求挺像的😅
    kalixi
    kalixi
    Jun 7, 2023❤️1
    36
    想啥啊,肯定 flutter 啊,谁还用 rn 啊
    wupeng756
    wupeng756
    Jun 7, 2023❤️1
    37
    flutter 也是 ui 框架 建议仅从 UI 的角度,选择 RN 吧,涉及原生的 api 还是少不了要看和写原生的代码
    kayv
    kayv
    Jun 7, 2023
    38
    @wingkwanli888 vant 是有赞的那个框架吗
    wingkwanli888
    wingkwanli888
    Jun 7, 2023 via iPhone
    39
    @kayv 是的
    kayv
    kayv
    Jun 7, 2023
    40
    @wingkwanli888
    >>就是离线渲染不白屏,我司最近两年的移动端项目都是 vant 写的,app 内嵌本地 web 服务器离线跑 vant

    意思是把前端打包拉取到 app 本地,用 app 的 web 服务跑吗?
    kayv
    kayv
    Jun 7, 2023
    41
    @wingkwanli888 感谢老铁回复
    v423
    v423
    OP
    Jun 8, 2023
    42
    @wobuhuicode
    批量图片处理是指可能需要在前端压缩 裁剪 标注 这些是业务那边提出的需求 一期暂时不做
    另外 200m 的视频是最常见的视频体积 超过 1g 的也不少 批量文件和大文件分段上传要是太复杂我就担心没处理好导致 crash
    v423
    v423
    OP
    Jun 8, 2023
    43
    感谢以上的热心回复 flutter 压倒性优势胜出 我去整个 demo 试试
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2926 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 137ms · UTC 11:54 · PVG 19:54 · LAX 03:54 · JFK 06:54
    ♥ Do have faith in what you're doing.