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

开源论坛想找人开发 App 推荐 rn 还是 Flutter?

  •  
  •   WebSystem · 2023-12-15 18:46:53 +08:00 · 8475 次点击
    这是一个创建于 376 天前的主题,其中的信息可能已经有所发展或是发生改变。
    问下,自己用的论坛开源项目是 Flarum

    介绍: https://docs.flarum.org/zh/extend/start/
    项目: https://github.com/flarum/framework

    网站后端:PHP 语言编写,并通过 Composer 使用了大量的 Laravel 组件和其他资源包。
    网站前端:类 React 框架 Mithril.js

    想找人开发跨平台 App 推荐 rn 还是 flutter 比较好?
    或是有其他推荐的技术线么
    排除 uniapp ,以海外常用的技术线为主

    目前需求是价格范围几 k 左右,部分页面 H5
    之后再看项目情况要不要原生
    网站本身有适配移动端
    48 条回复    2023-12-18 14:54:00 +08:00
    ShaoLongFei
        1
    ShaoLongFei  
       2023-12-15 18:49:26 +08:00
    那肯定是 Flutter 啊
    WebSystem
        2
    WebSystem  
    OP
       2023-12-15 18:52:18 +08:00
    @ShaoLongFei 对这块不是很熟,常常看到 rn 和 Flutter 在互比,不知道用啥好,有啥具体点差异么
    KC35
        3
    KC35  
       2023-12-15 18:55:31 +08:00
    投 Flutter 1 票
    kuituosi
        4
    kuituosi  
       2023-12-15 18:58:53 +08:00
    国外用 rn 多,国内用 flutter 多
    dapang1221
        5
    dapang1221  
       2023-12-15 18:59:07 +08:00
    正经的开发好像基本就 kotlin 和 flutter 两种吧
    WebKit
        6
    WebKit  
       2023-12-15 19:40:27 +08:00 via Android
    既然匹配了移动端,为什么不直接 app 套 webview
    WebSystem
        7
    WebSystem  
    OP
       2023-12-15 19:42:50 +08:00
    @WebKit 上架 app store 怕过不了审核,听说苹果政策不允许全 webview
    iOCZS
        8
    iOCZS  
       2023-12-15 19:56:30 +08:00
    用 flutter ,直接网页版也有了😂。论坛没有什么太需要原生支持的功能,适合 flutter 。
    h4avone
        9
    h4avone  
       2023-12-15 20:03:39 +08:00
    几千预算想做个 app ,想啥呢
    magic3584
        10
    magic3584  
       2023-12-15 20:05:01 +08:00
    你会 React 的话自己用 RN 写啊
    WebSystem
        11
    WebSystem  
    OP
       2023-12-15 20:06:54 +08:00
    @h4avone 初期项目,大部分都 H5 ,或能过审就行,不过份吧
    linuxsuren
        12
    linuxsuren  
       2023-12-15 20:26:02 +08:00
    我可以帮忙增加 API E2E 测试,这里是案例 https://github.com/LinuxSuRen/api-testing/discussions/284
    flmn
        13
    flmn  
       2023-12-15 20:33:34 +08:00
    几 k 的话,让接活的人选择自己熟悉的吧。
    h4avone
        14
    h4avone  
       2023-12-15 20:48:53 +08:00
    如果真的好好搞,还不如先想清楚,招会写 app
    的合伙人比较好.

    几千招外包,到最后你会发现,大家都想敷衍了事.
    XCFOX
        15
    XCFOX  
       2023-12-15 21:01:32 +08:00   ❤️ 16
    1. 语言
    TypeScript + jsx 完胜 Dart

    2. 性能
    React Native 在各个系统上均使用原生渲染;
    Flutter 现阶段在 iOS 上使用 Impeller 渲染引擎,在 Android 上使用 Skia 引擎;
    Skia 版本的 Flutter 在滑动、翻页时存在明显卡顿,动画反馈也会延迟几帧,Impeller 版本的 Flutter
    有的文章认为 Flutter 性能好于 React Native ,实际上是在说 dart 的性能好于 js 。然而 React Native 目前使用 jsi 与原生进程通信,性能与早期版本相比有大幅度改进,js 代码的执行速度已经不是瓶颈。
    在现在这个时间点来看,React Native 的性能/动画流畅度/用户体验是好于 Flutter 的,但是 Flutter 的 Impeller 引擎完善之后估计会追平 React Native 。

    3. 开发体验
    Flutter 的环境搭建很方便,React Native 使用 expo 开发也很方便,React Native 使用 react-native-cli 的话搭环境会很麻烦。

    4. 生态
    RN 坐拥 npm 生态,虽然包质量稂莠不齐,但是 npm 的生态比 dart 繁荣得多。
    全面使用 React Native 的 APP 很多:Discord 、Mattermost 、京东、https://reactnative.dev/showcase
    全面使用 Flutter 的 APP 寥寥而已:哔哩哔哩漫画、彩云小梦,不得不再提一下这两个 APP 在动画流畅度方面是存在很大问题的。


    在我个人看来 Flutter 相比 React Native 是没有优势的,作为用户来说 Flutter 开发的 APP 体验是倒退的。
    除了 React Native 环境搭不好的情况,现阶段还是推荐 React Native 。
    gavin6liu
        16
    gavin6liu  
       2023-12-15 21:09:49 +08:00
    网站本身是适配移动端的,你做 App 的目的是啥?
    nomytwins
        17
    nomytwins  
       2023-12-15 21:11:27 +08:00
    uniapp
    WebSystem
        18
    WebSystem  
    OP
       2023-12-15 21:27:04 +08:00
    @flmn 原本我也是这样想,但想说万一之后如果其他人接手开发,技术线比较不同的话怕不好找人开发

    @h4avone 项目初期合伙人找过都难找,身旁的都偏向稳定工作,所以打算自己干+外包形式,再找第三方审计代码

    @XCFOX 找了很多 V2EX 互比的帖子都是 2019 或 2020 的,谢谢讲解,估计打算用 RN 了,还没有看到进期比较具体讲解推荐 Flutter 的帖子

    @gavin6liu 增加用户黏着度,很多用户反馈需要一个 app+通知推送移动端,不然项目初期原本也没打算要搞
    yun
        19
    yun  
       2023-12-15 21:27:30 +08:00
    @XCFOX 这个卡顿使我不敢用它做一个视频项目。
    ly827
        20
    ly827  
       2023-12-15 21:39:02 +08:00
    Flutter 吧
    starcode
        21
    starcode  
       2023-12-15 22:03:01 +08:00
    出海建议 Flutter ,我个人全部是用 Flutter ,后端是 firebase 、supabase 、appwrite 这些。
    chucongqing
        22
    chucongqing  
       2023-12-15 22:15:44 +08:00
    不要搞 flutter https://www.reddit.com/r/reactnative/comments/13xmuuk/there_are_24_react_native_apps_in_the_top_100/

    apple store 前 100app 24 个 rn, flutter 好像个位数。
    Znemo
        23
    Znemo  
       2023-12-15 22:33:11 +08:00
    @XCFOX 中肯
    GTim
        24
    GTim  
       2023-12-15 22:41:40 +08:00   ❤️ 1
    包括 ImToken,Token pocket, Metamask 都是用 rn

    RN 写扩展比 Flutter 方便。

    你这个论坛的难点不是框架,而是那套 API 协议,非常的费脑。

    我曾经写过,累惨
    zqlcrow
        25
    zqlcrow  
       2023-12-15 23:17:40 +08:00
    推 Flutter
    Bijiabo
        26
    Bijiabo  
       2023-12-15 23:25:54 +08:00   ❤️ 1
    如果你在乎用户体验,选择 React Native 。
    如果你是玩票性质,想搞个噱头、创造炫酷的页面效果、恶心的用户体验,选择 Flutter 。
    MakHoCheung
        27
    MakHoCheung  
       2023-12-15 23:31:11 +08:00
    用 Flutter 吧,会的人比较多
    另外以后你要原生的话可以找我,技术栈 SwiftUI ( iOS 、macOS 、visionOS )
    roundgis
        28
    roundgis  
       2023-12-16 00:13:37 +08:00 via Android
    @GTim rn 調用系統功能方便麼
    jsq2627
        29
    jsq2627  
       2023-12-16 06:59:39 +08:00
    预算太低,flutter 和 rn 都 hold 不住,反而 uniapp 有可能
    GTim
        30
    GTim  
       2023-12-16 07:13:45 +08:00
    @roundgis 两个都方便,但是 RN 更方便,两个的扩展我都写过
    monkeyWie
        31
    monkeyWie  
       2023-12-16 07:47:33 +08:00 via Android
    论坛以后肯定要做 web 版,要做 SEO ,flutter web 是做不了 SRI 的,所以建议 RN
    monkeyWie
        32
    monkeyWie  
       2023-12-16 07:48:07 +08:00 via Android
    @monkeyWie SRI -> SEO
    xkeyC
        33
    xkeyC  
       2023-12-16 09:24:31 +08:00 via Android
    Flarum 啊,我曾有两个使用 flutter 给开发的项目,不过因为各种原因咕咕咕了(主要是我自己不再使用论坛),如果有能力自己编译运行的话,可以试试。

    https://github.com/xkeyC/fla
    https://github.com/xkeyC/fluam_app
    encro
        34
    encro  
       2023-12-16 12:57:05 +08:00
    也许你只需要 cordova 或者直接
    jackge0323
        35
    jackge0323  
       2023-12-16 13:47:53 +08:00   ❤️ 1
    这个预算就不用考虑用什么了,我觉的应该不会有人接。
    WebSystem
        36
    WebSystem  
    OP
       2023-12-16 14:10:40 +08:00 via iPhone
    @jackge0323 因为有人接了我才问的
    jeesk
        37
    jeesk  
       2023-12-16 15:09:57 +08:00
    @jackge0323 让大学生干,套壳应该可以。
    ajan
        38
    ajan  
       2023-12-16 17:27:09 +08:00
    就几 K 的算,不用 uni-app ? 你玩命呢?
    ltq918
        39
    ltq918  
       2023-12-16 18:56:35 +08:00 via Android
    个人推荐 Flutter ,根据过时信息,基准测试中 Flutter 性能更好并且 CPU 内存占用和耗电量更低,除非提供全新的基准测试,否则不能说 Flutter 性能差用户体验不佳,用户体验有时也取决于开发者和部分库的实现,这方面 Flutter 可能有些库成熟度不如 ReactNative 。另外占有率比较也不公平,Flutter 发布更晚,部分头部 APP 可能更早的采用了 React Native
    XCFOX
        40
    XCFOX  
       2023-12-16 23:26:30 +08:00
    @ltq918 #39

    Skia 版本的 Flutter 性能差用户体验不佳是众多开发者有目共睹的 ( https://github.com/flutter/flutter/projects/188 ) 。官方在文档里甚至专门提到了: https://docs.flutter.dev/perf/shader , https://flutter.cn/docs/perf/shader

    Flutter 刚出那会儿手机的屏幕分辨率只有 60HZ ,因此 Flutter 的目标一直是 提供 60fps 的性能( https://docs.flutter.dev/perf/ui-performance )。然而这两年手机 120HZ 高帧率逐渐普及,Flutter 卡顿的缺点自然就被放大了。

    Impeller 引擎目前在 iOS 上已经投入生产,Android 进度目前是 80% ( https://github.com/flutter/flutter/milestone/76 ),估计 Android 版本的 Impeller 能在明年正式投入生产。估计届时 Flutter 关于性能的 issue 会大大减少。

    我对 Flutter 的前景还是很乐观的。谷歌地球使用 Flutter 已经有一段时间了,在 Web 上除了首屏加载时间慢其他体验还是很流畅的。
    ltq918
        41
    ltq918  
       2023-12-17 11:19:54 +08:00 via Android   ❤️ 2
    @XCFOX
    ReactNative 应该会吃到各平台原生组件的优化,Flutter 确实更依赖引擎。


    然后我说一下主观感受,由于没有最新的基准测试对比,目前在支持 Promotion 的 iOS 上,Flutter 没有卡顿问题,而且似乎有消息称 Impeller 可以降低 CPU 和 GPU 负载并提高效能。


    在 Android 设备上,取决于 Flutter 组件的复杂程度,以骁龙 6gen1+120Hz 的低端设备为例,未经优化的复杂列表页会在滚动结束前或滚动中加载数据时确实有掉帧。而在骁龙 870+120Hz 设备上,体验良好,只有偶尔轻微的掉帧。


    即使在骁龙 6gen1+120Hz 的低端设备中,以饿了么和美团外卖为例(似乎有在使用 ReactNative),Flutter 掉帧后的流畅度也比饿了么和美团外卖主页和店铺商品列表页更好。当然低端设备卡顿原因非常多,业务复杂度也不同,不应该直接比较。


    最后说下可能过时的个人看法,Dart 通常不会增加太多的学习成本,即使是 ReactJS 的熟练开发者,相比之下 ReactNative 在不使用 Expo 的情况下上手可能比 Flutter 更困难。另外,ReactNative 似乎更容易实现现代优雅的外观设计。
    okakuyang
        42
    okakuyang  
       2023-12-17 14:48:31 +08:00
    根本不需要 rn 或者 flutter ,直接 webview 套壳就行了。苹果卡审核只是说,如果你使用 webview ,在无网络的情况下,或者网络质量差的情况下你的 App 会空白,苹果觉得这是不 ok 的。还有一个就是 webview 的话 app 的内容物是动态加载的,苹果怕你上架之后通过该地址变成其他 App ,不 ok 。你只要把你的网站前端放在本机,样式做好点,苹果不会为难开发者的第一个 App 。
    indexError
        43
    indexError  
       2023-12-17 21:52:25 +08:00 via Android
    runningman
        44
    runningman  
       2023-12-18 10:00:12 +08:00
    php 后端要人不
    fwindcore
        45
    fwindcore  
       2023-12-18 10:13:02 +08:00
    @WebSystem #7 可以过审核的,不用怕。部分审核要求的页面用原生,其他用 webview 毫无问题。
    gavin6liu
        46
    gavin6liu  
       2023-12-18 10:57:24 +08:00
    @WebSystem #18

    如果只是为了通知的话。解决方案有很多,比如搞个公众号。这样,微信就是你的客户端,Push 通过微信消息,消息触达还快。
    joyanhui
        47
    joyanhui  
       2023-12-18 12:32:28 +08:00
    你这种 webapp 基本都可以满足的情况。

    用 uniapp/rn/flutter 做几个原生界面,剩下的 webview 就可以了。处理一下无网络的时候的 webview 的错误,别一个大白屏幕,可以过审核的。

    大部分原生界面的话,你预算要 x10 才有一些可能,需要对接你论坛的 api,还是非常消耗时间的,甚至可能还需要加几个 api 上去,几千块没人弄的。

    你也说了,苹果不允许全 webview ,但是允许部分 webview 。而且是允许大部分 webview 。

    我这边有 2 个 app,都审核过了。
    都是 只有 首页(一个 logo 两个按钮:注册登陆)注册页 登陆页 三个页面是原生的,后面都是 webview ,这三个页面 我会检查网络情况,并开了一个隐藏 webview 预加载 css/js/img. 体验也还不错。
    这样花几千块肯定能找到人做,毕竟就几个小时的事情。

    你既然对 app 这边不太了解,那么用 webview 你后期维护也简单轻松很多,甚至单独给 app 端的 html5 做一下适配的优化对你来说也不是难事。

    至于消息通知,自己单独另外做 ios 的 push

    至于 rn 和 flutter ,眼下 rn 明显成熟很多,性能也好很多。rn 写插件调用硬件和消息通知轮子也更多。
    chenjiangui998
        48
    chenjiangui998  
       2023-12-18 14:54:00 +08:00
    cordova 是最快速, 简单的方案, 不用踩坑, 性能我用下来也 OK
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5568 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 08:13 · PVG 16:13 · LAX 00:13 · JFK 03:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.