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

快 2021 年了,最值得推荐的 APP 跨端框架

  •  
  •   eyeix · Dec 5, 2020 · 12489 views
    This topic created in 2161 days ago, the information mentioned may be changed or developed.

    RT,从生态、性能、开发体验,以及未来发展等方面看,最值得推荐的 APP 跨端开发是哪款

    希望 V 友们多多推荐讨论,个人比较看重性能与开发体验

    ReactNative,flutter,uniapp......

    这几款应该是目前市面上用的比较多的

    67 replies  •  2020-12-07 20:44:16 +08:00
    wszgrcy
    wszgrcy
    Dec 5, 2020 via Android
    1
    typescript native
    Quarter
    Quarter
    Dec 5, 2020
    2
    我选择的是 flutter,但是没用过其它的形式,就不作评价了
    streamrx
    streamrx
    Dec 5, 2020 via iPhone
    3
    uniapp 不用考虑了 这个东西现在基本都是用来做微信小程序的
    XCFOX
    XCFOX
    Dec 5, 2020
    4
    占楼同问
    个人还是比较看好 RN 。React 一直在理念上领先其他框架,比如组件化、状态、Hooks 、jsx 。Flutter 和 vue 一直是摸着 React 过河。RN 还能配合 TypeScript,Dart 写起来感觉怪怪的。
    eyeix
    eyeix
    OP
    Dec 5, 2020
    5
    @wszgrcy #1 RN+ts ?
    eyeix
    eyeix
    OP
    Dec 5, 2020
    6
    @Quarter #2 dart 好用吗,网络上评论看起来前景不是很确定
    lagoon
    lagoon
    Dec 5, 2020
    7
    相较之下,Flutter 好些。

    话说,看看它们各自的实现原理就能有一些感受了。

    用网友的评论:Flutter ?烂,太烂了。但 Skia 优秀啊。
    SnailLin
    SnailLin
    Dec 5, 2020
    8
    flutter
    eyeix
    eyeix
    OP
    Dec 5, 2020
    9
    @streamrx #3 同意,用过 uniapp,做 app 很容易出现性能问题
    eyeix
    eyeix
    OP
    Dec 5, 2020
    10
    @XCFOX #4 +1 个人也是比较看好 RN
    lagoon
    lagoon
    Dec 5, 2020❤️1
    11
    @XCFOX 同觉得 React 的理念好,大家都在学习它。
    但觉得 React Native 的理念不好。
    lagoon
    lagoon
    Dec 5, 2020
    12
    个人觉得,对于跨平台的技术,重点是在,怎么回到原生上。

    用前端技术写个 h5 不好吗?不是 h5 不好,而是回到原生的方式上不好(浏览器)。
    paradoxs
    paradoxs
    Dec 5, 2020
    13
    有没有哪位大侠知道 Evernote for iOS 现在用的是什么垃圾技术? 搞的整个 APP 卡的一逼。
    Quarter
    Quarter
    Dec 5, 2020 via iPhone
    14
    @lrvinye dart 还可以,挺容易上手的,但是我觉得这种嵌套式的写法还是和标签一样,多了以后会显得比较乱,但整体使用起来我觉得还不错🥳
    lloovve
    lloovve
    Dec 5, 2020 via iPhone
    15
    Delphi
    chenhui7373
    chenhui7373
    Dec 5, 2020
    16
    pyqt
    eyeix
    eyeix
    OP
    Dec 5, 2020
    17
    @chenhui7373 #16 这是桌面端吧
    conkke
    conkke
    Dec 5, 2020
    18
    RN +1
    whypool
    whypool
    Dec 5, 2020 via Android
    19
    小程序,其他都是渣渣
    chenhui7373
    chenhui7373
    Dec 5, 2020
    20
    @lrvinye qt for android ,qt for ios
    icyalala
    icyalala
    Dec 5, 2020❤️6
    21
    就国内这个现状,想省人力做跨端就写小程序,想体验优秀就用 Native 。
    RN Flutter 基本都是大公司做 KPI 或者个人小项目用的。
    love
    love
    Dec 5, 2020
    22
    首先排除 flutter
    IGJacklove
    IGJacklove
    Dec 5, 2020 via Android❤️1
    23
    @XCFOX flutter 摸着 react 过河就过分了吧,rn 不过是披着前端的皮而已,骨子和前端没半毛钱关系。两个都写过,语法确实是 rn 加 ts 舒服,但开发体验 flutter 完爆 rn 吧,写 rn 写个效果第一想法是 rn 行不行,写 flutter 第一想法是你行不行。rn 可玩度和操作上限都不如 flutter,别说 flutter 还能跨 PC 和 Web 了
    9ki
    9ki
    Dec 5, 2020❤️1
    24
    目前我心中比较满意的跨端选型是 H5(也就是网页,React/Vue/Angular) + 小程序(Taro/原生小程序) + Native(React Native),弱化视图层的开发模式下很容易把代码积累下来移植到其他端。

    flutter 没用过不评价
    考虑性能就和 uniapp 没关系了(本身也不推荐,坑太多)
    Helsing
    Helsing
    Dec 5, 2020 via iPhone
    25
    @icyalala #21
    有道理。国内现在好像就咸鱼和百度贴吧是用 Flutter 做的
    matatabi
    matatabi
    Dec 5, 2020
    26
    flutter yes
    kazeik
    kazeik
    Dec 5, 2020 via iPhone
    27
    flutter
    vxinv
    vxinv
    Dec 5, 2020
    28
    @Helsing 百度贴吧 是吗?
    yimity
    yimity
    Dec 5, 2020
    29
    RN 和 Flutter 都半吊子写过 App,让我选,打死都不 RN,心智负担太重。
    Helsing
    Helsing
    Dec 5, 2020 via iPhone
    30
    @moneyloveme8866 #28
    应该是的,之前贴吧有一个版本有 bug,“我的”页面刷新不出来,把 Flutter 的一些错误信息显示出来了
    eyeix
    eyeix
    OP
    Dec 5, 2020
    31
    @yimity #29 为啥,分享一下
    murmur
    murmur
    Dec 5, 2020
    32
    目前看还是微信小程序,因为比微信小程序需求和性能要求高的,或者想自立门户的,最后都要拥抱 native
    cnbattle
    cnbattle
    Dec 5, 2020 via Android
    33
    公司在用 uniapp…有点慌
    yimity
    yimity
    Dec 5, 2020
    34
    @lrvinye
    当然了,可能主要是我的问题。
    不是很熟悉或者习惯 RN 那一套开发思想,每次写完一个页面 /组件,都要反复看好几遍代码,才能将这个执行流程理顺。而且总是会渲染很多次,虽然有自己的 diff,并没有真正渲染。
    尤其是 hooks,少个依赖多个依赖,很容易出问题。
    但是 Flutter 我就顺着写就行了。没有很多小点要去注意。

    按我自己的理解的执行思路就是写就行。不用老是跳。
    eyeix
    eyeix
    OP
    Dec 5, 2020
    35
    @cnbattle #33 小程序用 uniapp 还不错
    Bijiabo
    Bijiabo
    Dec 5, 2020
    36
    个人推荐 React Native + TypeScript
    遇到真正需要高性能和体验要求的页面可以方便的集成 Native View,且支持在线加载。
    Helsing
    Helsing
    Dec 5, 2020 via iPhone
    37
    @moneyloveme8866 #28
    刚刚看了一下,应该是我记错了,百度做了一个贴吧内部版才是用 Flutter 做的,比较简陋,但是没有广告和那些花里胡哨的功能
    653513754
    653513754
    Dec 5, 2020 via iPhone
    38
    所有的跨平台都是坑,没有例外
    zybook
    zybook
    Dec 5, 2020 via Android❤️1
    39
    怎么没人说 quasar
    WebKit
    WebKit
    Dec 5, 2020 via Android
    40
    @XCFOX flutter 跟 RN 区别很大
    xi_lin
    xi_lin
    Dec 5, 2020
    41
    @yimity 你说的这不算 rn 的缺陷。。
    queuey
    queuey
    Dec 5, 2020
    42
    Flutter yes ~
    buffzty
    buffzty
    Dec 5, 2020❤️1
    43
    只用过 RN
    生态: 全,想要的组件基本都有
    性能: 接近原生,那些说性能不行的不是在装逼就是根本没用过.现在的 app 基本都带一大堆的 webview. 而且很多大 app 都是 rn 开发的 我做过好几个 zheng 府的 app 都是用 rn 开发.
    开发体验: 对 typescript 支持极好 你说好不好
    未来发展: 看官方 github 提交记录就有数了
    CommandZi
    CommandZi
    Dec 5, 2020
    44
    用 flutter 写了一个小工具,感受就是除非以后工作需要,大概不会再碰了。
    嵌套嵌套还是嵌套,在一个普通 view 上加点击事件要嵌套一层,监听数据要嵌套一层,布局也要嵌套 N 层,如果是有 UI 定好一次过开发还好,如果 UI 变化多,改着改着就晕了
    默认单线程应用,App 性能看开发者功力,如果想开发多线程任务则意味更多模版代码
    flutter 我感觉就是单向数据流的设计思想,这意味着更多的模版代码
    OHyn
    OHyn
    Dec 6, 2020
    45
    RN 很不错!
    zachlhb
    zachlhb
    Dec 6, 2020 via Android
    46
    xamarin
    jon97
    jon97
    Dec 6, 2020 via iPhone
    47
    首先 flutter 性能最好,因为跳过了原生框架。
    其次写起来嵌套确实操蛋,但是他背后团队牛,支持定制很多东西。
    再次 flutter 依赖库很好,很多,但由于跨平台,很多硬件或者底层开发相关的只能依赖开源库,后期假如库出问题可能开发也进行不下去。
    再再次就是包大小比较大,调试的时候热重载虽然方便但是对机器性能要求比较高。
    thautwarm
    thautwarm
    Dec 6, 2020 via Android
    48
    FSharp Fabulous
    9LCRwvU14033RHJo
    9LCRwvU14033RHJo
    Dec 6, 2020
    49
    @lagoon 两者的理念主要不同在哪?
    hoyixi
    hoyixi
    Dec 6, 2020
    50
    Flutter 的 Web 端理论上可以,但是感觉还只是个玩具
    Cyanhall
    Cyanhall
    Dec 6, 2020❤️2
    51
    从 Github 星星数提供一个统计参考:

    最流行的跨平台框架: https://www.cyanhall.com/cn/top/cross-platform-framework/
    zjgsamuel
    zjgsamuel
    Dec 6, 2020
    52
    @lloovve #15 Delphi 那么厉害了~ 不过 3 年前,帮我们用 Delphi 写 ERP 的那帮人,也搞出了手机端的 APP,用于仓库收发货,机械设备点检这些功能,APP 我试运行过,界面和运行只能说能用,有些黑屏和卡顿,那会 IDE 版本好像是 RAD Studio 10 多少来着....
    Lemeng
    Lemeng
    Dec 6, 2020
    53
    小程序就是不错的选择,省时省力
    WebKit
    WebKit
    Dec 6, 2020 via Android
    54
    @hoyixi Flutter web 现在还很卡,在 chrome 傻子有时候卡的不行
    WebKit
    WebKit
    Dec 6, 2020 via Android
    55
    @CommandZi 明显是你写法有问题。写代码都知道封装,写 UI 就不知道了?
    chenhui7373
    chenhui7373
    Dec 6, 2020
    56
    APP

    c/c++ lib => bindings => swift/oc => platform channel => dart
    ___________________________or => jsbridge => RN
    c/c++ lib => jni => java/kotlin => platform channel => dart
    ___________________________or => jsbridge => RN

    小程序
    uniapp

    H5
    JAMStack SSG(静态网站生成器)
    mxT52CRuqR6o5
    mxT52CRuqR6o5
    Dec 6, 2020
    57
    rn 总的来说更成熟些,但涉及手势动画是开发会很蛋疼,相比之下 flutter 如果有这种需求开发体验会更加接近 native
    另外如果要跨 web 端就不是很推荐 flutter
    其实我更推荐 hybrid/h5 套壳,开发成本和体验都很好,就是安卓用户体验差一丢丢
    zhuzhibin
    zhuzhibin
    Dec 6, 2020 via iPhone
    58
    Taro RN 是说支持 taro 3 但是我觉得坑还是很多 如果我是一个开发者 选择了某个跨端方案 最起码我是期望可以跟着文档可以顺利写一段代码且顺利跑起来多端 这样心里踏实些 但是 taro Rn 之前我跑过骨架 跑不起来 提了 issue 也没人解决 也没有一个直观的例子 这个当然不能怪谁 说来说去我觉得 RN 端还是得先有原生 RN 的基础以及概念 不然就像我一样 出了问题都排查不出哈哈
    wuzhanggui
    wuzhanggui
    Dec 6, 2020
    59
    uniapp 写个小程序就行了,app 啥的真的不行
    pC0oc4EbCSsJUy4W
    pC0oc4EbCSsJUy4W
    Dec 6, 2020
    60
    百度贴吧闲鱼用 Flutter,但是体验并不好,尤其是闲鱼
    pC0oc4EbCSsJUy4W
    pC0oc4EbCSsJUy4W
    Dec 6, 2020
    61
    计算 Flutter 开发,也是原生熟悉开发坑才少,要不然出了问题抓瞎
    pC0oc4EbCSsJUy4W
    pC0oc4EbCSsJUy4W
    Dec 6, 2020
    62
    Android 下一个软件 LibChecker,然后就知道软件构架了,基本都是部分使用 RN 或者 Flutter

    Android Kotlin 才是主流
    pC0oc4EbCSsJUy4W
    pC0oc4EbCSsJUy4W
    Dec 6, 2020
    63
    当然还有 Xamarin 的
    wezzard
    wezzard
    Dec 6, 2020
    64
    SwiftUI
    ccraohng
    ccraohng
    Dec 7, 2020 via iPhone
    65
    rn 手势动画有 worklet +native gesture
    simon527
    simon527
    Dec 7, 2020
    66
    用 uniapp 一年多了,一路坑来,逐渐习惯。
    eyeix
    eyeix
    OP
    Dec 7, 2020 via iPhone
    67
    @simon527 uniapp 写起来别的确实还行,就是性能确实有瓶颈
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1545 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 96ms · UTC 17:40 · PVG 01:40 · LAX 09:40 · JFK 12:40
    ♥ Do have faith in what you're doing.