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

Flutter 现在生态如何了?

  •  
  •   Infinitify · 2021-12-22 04:34:25 +08:00 · 14969 次点击
    这是一个创建于 1098 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有些用到原生功能比如摄像,录音,定位是否已经和原生没差别了?

    第 1 条附言  ·  2021-12-23 00:19:12 +08:00
    看来我引起了战火。。。

    主要是想了解针对第三方的 sdk, 比如某位兄弟提到的高德地图等接口是否有问题。。。
    第 2 条附言  ·  2021-12-23 00:44:10 +08:00
    再请教个问题,flutter 可以做到 youtube 的画中画并且随意拖动效果吗?
    105 条回复    2022-02-25 16:46:33 +08:00
    1  2  
    ericls
        1
    ericls  
       2021-12-22 04:49:54 +08:00 via iPhone
    GraphQL 都没有好用的
    Perry
        2
    Perry  
       2021-12-22 04:56:32 +08:00 via iPhone
    你说的这些,不管 RN 还是 Flutter 最后都是用的原生模块的吧
    dcoder
        3
    dcoder  
       2021-12-22 06:42:08 +08:00   ❤️ 2
    真心不看好这破玩意儿
    xuhaoyangx
        4
    xuhaoyangx  
       2021-12-22 07:56:43 +08:00 via Android
    稍微底层的功能,都是针对各端的封装。想用得好,得自己懂各端原生开发
    nieyujiang
        5
    nieyujiang  
       2021-12-22 08:06:33 +08:00 via iPhone
    原生功能还是各自封装各自的,出了问题还是要老老实实去看原生代码,跑不了的
    murmur
        6
    murmur  
       2021-12-22 08:07:45 +08:00
    flutter 生不逢时,错过了移动端泡沫期,如果赶上 p2p 小贷 团购那个黄金时代,绝对大火

    现在国内都是要么小程序要么 native
    alexkkaa
        7
    alexkkaa  
       2021-12-22 08:40:00 +08:00 via Android
    画界面没的说 但是只是画界面为何不用 web 技术 降维打击啊
    Hanggi
        8
    Hanggi  
       2021-12-22 08:42:15 +08:00
    @dcoder 咋了,抢了你饭碗了?
    murmur
        9
    murmur  
       2021-12-22 08:43:20 +08:00   ❤️ 1
    @alexkkaa 因为现在前端陷入了怪圈,越是难学习难用的东西越被追捧,要不来个新人把你换了多划不来,flutter 要学一个新语言那不是太好,以后 dart 的坑也可以面试

    天天吹性能 动画,native 都不做这些,吹的是个啥
    CaffreySun
        10
    CaffreySun  
       2021-12-22 08:55:49 +08:00
    虽生不逢时,但也在稳定发展,前途无量。
    lagoon
        11
    lagoon  
       2021-12-22 09:04:48 +08:00   ❤️ 9
    1 、如果你问的是第三方 sdk 生态,还是不行,支持 flutter 的不多。具体看你需求。比如定位有高德,但具体要去了解,flutter sdk 是否提供了所有你要的功能。
    2 、如果你问的是原生,常规内容基本都有支持了。非界面的部分,比如录像,本质还是调原生,何来和原生的差别。


    顺便驳斥“越是难学习难用的东西越被追捧”,又是我不了解但我什么都知道的典型。
    我接触过稍微学过不下 5 种编程语言,dart 真是我见过最傻瓜的。毫不客气的说,dart 还用学?也许对于在校生是需要学习的。对于码农,长得有什么不同的地方?
    翻开 Java 基础,后几章是什么?估计是线程、反射。 dart 全没有。(其实有线程,不过基本用不上)。还能更傻瓜吗?
    Flutter 工程就更简单了。一个 main ,然后基本顺藤摸瓜全在里面了。

    如果问“茴香豆有几种写法”式的原理实现,实际编码也用不上。


    Flutter 是能解决实际问题的。
    比如让我这个 Android 码农,成功做了 2 年 app 全栈开发,应用早上架 app store 了。
    体验还不比原生差。

    个人觉得对新技术是没有排斥的。从事 Android ,先学的 Kotlin ,再学的 React Native ,最后才是 Flutter 。


    许多人的态度,我当年的前同事可以算典型。我这个 Android 开发都开始学 swift ,问他这个 iOS 开发为什么不学。告诉我没用,反正还得会 OC 。他说的很有道理,我无法反驳。直到工作逼他去学。
    keppelfei
        12
    keppelfei  
       2021-12-22 09:16:46 +08:00
    有统计说 app 使用 flutter 已经占了一部分市场了,比 RN 的前景要好很多。
    TomVista
        13
    TomVista  
       2021-12-22 09:26:10 +08:00   ❤️ 1
    我用过,设备接口 /三方 sdk 和 uniapp rn 没区别,设备接口勉强够用,三方 sdk 几乎不能用,

    顶多 ui 性能 比 uniapp 好点,

    在状态管理 /数据驱动上,一塌糊涂, StatefulWidget / StateLessWidget /InheritedWidget 的设计就是一坨屎,

    不建议入坑
    kera0a
        14
    kera0a  
       2021-12-22 09:33:56 +08:00 via iPhone
    最近试着开发公司管理 App ,开发体验感觉还不错,运行效果离原生还有点差距,还有就是不支持 ProMotion ,iPhone 上体验较差
    darknoll
        15
    darknoll  
       2021-12-22 09:39:06 +08:00
    负担太重了,要学个这个还得学个 dart ,要是用 ts 啥的,那当然能火啊
    ohwind
        16
    ohwind  
       2021-12-22 09:41:15 +08:00   ❤️ 2
    @lagoon “越是难学习难用的东西越被追捧”,往往是愚蠢的人在为自己的懒惰寻找理由
    murmur
        17
    murmur  
       2021-12-22 09:42:43 +08:00   ❤️ 1
    @ohwind 但是 flutter 选用 c#、ts 甚至 lua 做语言都对他框架本身没任何影响

    单纯是为了推广语言做的设计
    FightPig
        18
    FightPig  
       2021-12-22 09:43:41 +08:00
    最大的优点是 dart ,最大的缺点也是 dart
    murmur
        19
    murmur  
       2021-12-22 09:46:17 +08:00
    广东经济发达么,广东要求你来之前学粤语么,在现实生活中都懂得事,在开发要反其道而行之,甚至要吹捧
    nezumi85757
        20
    nezumi85757  
       2021-12-22 09:48:57 +08:00   ❤️ 2
    我觉得很不错,学习曲线非常平滑,ebay 和 my bmw app 新版已经全面 flutter 化,丰田在也选择了 flutter 技术栈作为新版车机 OS 的 UI 层,有自己的观点没错,唱衰也可以,但是你们没意识到,企业是很青睐这种成本低产出大的技术的。
    fregie
        21
    fregie  
       2021-12-22 09:49:27 +08:00
    @murmur 基于 web 的移动端 app 你做过吗?体验过吗?用户体验跟原生 app 的差距你知道有多大吗?基于 web 的移动端框架又不是没有,坑也不是没踩过,真以为业界大佬都没你聪明吗?
    pinkSlime
        22
    pinkSlime  
       2021-12-22 09:49:46 +08:00
    对我来说,flutter 是前端领域中最容易入门的技术栈吧。。。不知道说复杂的是咋回事
    目前基本可以算全平台了,RN 并不能打
    ohwind
        23
    ohwind  
       2021-12-22 09:50:42 +08:00
    @murmur “广东经济发达么,广东要求你来之前学粤语么”
    中华人民共和国现代标准汉语是普通话,我有义务学习普通话,没义务学习粤语。
    不当类比
    murmur
        24
    murmur  
       2021-12-22 09:51:37 +08:00
    @fregie 微信小程序就是日活 4 亿的 web app 开发框架,我天天在体验,怎么了,你 flutter 做一个日活四亿的看看
    murmur
        25
    murmur  
       2021-12-22 09:53:38 +08:00
    @pinkSlime 前端学了 flutter ,js css html 三件套该学还得学,不是学了 flutter 后面三个就不学了
    Grapevine
        26
    Grapevine  
       2021-12-22 09:54:28 +08:00
    开发过一款 APP ,已上架。感受就是 dart 写起来很舒服,虽然说有学习成本,但是我觉得对于程序猿来说毫无难度。
    另外从市场行情来看,flutter 后来居上,有点要赶超 rn 的趋势。
    fregie
        27
    fregie  
       2021-12-22 09:54:33 +08:00
    ```
    但是 flutter 选用 c#、ts 甚至 lua 做语言都对他框架本身没任何影响
    ```
    你这话说的....
    我跟你道歉,不该对你要求这么高的,毕竟你只是一个外行,不同语言特性区别都不清楚,不同语言有自己适合用的领域的,不是单纯的语法不同而已。
    murmur
        28
    murmur  
       2021-12-22 09:57:09 +08:00
    @fregie 你前面还带有高傲,后面就露出本色了,不是单纯的语法而已,你为什么不用其他的语法自己写解析器

    c#有最完备的语法糖
    ts 在前端有广泛的受众
    lua 在嵌入式解析器试用历史悠久

    用哪套语法不好
    fregie
        29
    fregie  
       2021-12-22 09:57:32 +08:00
    @murmur 这就对了,你平心而论,微信小程序体验是否能达到原生 app 的级别?是不是做了微信小程序后就完全没必要做原生 app 了?有没有哪个公司使用微信小程序作为自己的主要产品替代了原生 app ?
    alexkkaa
        30
    alexkkaa  
       2021-12-22 09:58:16 +08:00 via Android
    @murmur google 怎么可能用 ms 的语言 oracle 的碰瓷还没赔够钱?
    fregie
        31
    fregie  
       2021-12-22 09:59:23 +08:00
    lua 历史悠久,为什么 web 开发最终都用 js 呢?
    他们特性的差别导致应用于不同领域,你能说的清楚吗?你到底是没懂 web 呢?还是不懂 lua 呢?
    murmur
        32
    murmur  
       2021-12-22 09:59:47 +08:00
    @fregie 我考虑的更极端,我认为目前已经没什么需求值得我新装一个 app 了,小程序挺好的,国产安卓 rom 、大厂 app 已经把我用不到的功能都集成了,人家考虑的比我远多了

    所以我第一个帖子就说 flutter 生不逢时

    哦对了,现在国内 gov 的各种办事都是公众号或者小程序就可以搞定
    alexkkaa
        33
    alexkkaa  
       2021-12-22 10:03:50 +08:00 via Android
    @fregie 现在这句话应该反着说 哪个公司还在强上 app 不用小程序? app 跟桌面端 wpfwinform 没啥区别 我他么买个菜点个外卖我为什么要装个 app ,点开网页就能干的东西。 还是那句话 90%的公司没必要开发 app ,web 完全够用,不够的小程序提供原生接口来弥补。

    历史经验表明,那些强上 app 维护双端的公司已经被缓慢的市场相应和高昂的推广成本给拖死了。那些扫码即用的公司反而活得越来越好。聪明人从 2015 年就看到这个趋势了
    fregie
        34
    fregie  
       2021-12-22 10:06:00 +08:00
    @murmur 你怎么考虑的不重要,我只是在讨论技术而已,我就是想问小程序体验是否能达到原生 app 的级别?只是反驳你做原生只是为了难的观点
    另外我承认小程序能做许多事情。
    pinkSlime
        35
    pinkSlime  
       2021-12-22 10:06:58 +08:00
    @murmur 我说的前端没有特指 web 啊,做 mobile/desktop app 的为啥要去学 html ,
    另外我想说的 flutter 不用写一行 html/css 就可以产出 web ,并且有一堆现成的例子,比如 https://www.flutterfolio.com/
    不过看您一个打 10 个的样子肯定会继续杠 恕我不奉陪了
    fregie
        36
    fregie  
       2021-12-22 10:07:37 +08:00
    @alexkkaa 我只是来讨论技术的,不是来讨论产品的,公司需不需要用是产品的事。
    我只是想表达基于 web 技术的小程序的体验还打不到原生 app 的级别。
    murmur
        37
    murmur  
       2021-12-22 10:09:06 +08:00
    @fregie

    应该说远超 app 吧,扫码就用,桌面不留痕迹,真的小而美
    比如各种码、行政办事、共享单车
    微信虽然自己干的不是人事,但是限制小程序 2m 是真棒
    makelove
        38
    makelove  
       2021-12-22 10:09:24 +08:00
    Flutter 最大的败笔是不用 javascript ,注定了永不可能成前端王者
    murmur
        39
    murmur  
       2021-12-22 10:10:31 +08:00
    @pinkSlime 一张图片一个登录框的页面,首屏至少加载了 1.3+2.6m 的资源才显示出来,这种垃圾体验还值得吹嘘?
    DOLLOR
        40
    DOLLOR  
       2021-12-22 10:12:24 +08:00 via Android
    我跟阐述了 flutter 比 RN 、native 优秀之处,说了一大堆话。
    最后领导决定:做小程序。
    alexkkaa
        41
    alexkkaa  
       2021-12-22 10:13:56 +08:00 via Android
    @fregie 体验这个事不能以程序员的角度说,要已用户和公司的角度说。electron 这种屎一样体验的还不是遍地开花。 大多数 app 大家一天打不开一两次,每次使用时间不超过几分钟。 体验不重要,重要的是能满足需求。当然靠谱的技术人员即使纯 web 也不会写出 12306 那么垃圾的体验的。

    说到底大多数 it 公司是服务行业和娱乐行业,并不需要多少原生功能,需要原生功能多的早都被各个巨头和成熟产品霸占了。普通程序员和公司介入成本太高失败风险也高。
    hahastudio
        42
    hahastudio  
       2021-12-22 10:14:46 +08:00
    Flutter 的跨平台只是说能做一些简单的东西,稍微复杂一些的 background task ,isolate 就不够用,还是得写原生的
    而且不少基础功能的库都不太好用,比如 location ,比如 notification
    最主要的,按现在不同平台的 UI 指导,你 Android 和 iOS 不可能长得一样,还是得两套代码。当然这个是现在跨平台框架的通病
    话说 UI ,Flutter 还不支持新的 Material You 呢,感觉 Google 好像也不是很上心
    alexkkaa
        43
    alexkkaa  
       2021-12-22 10:16:14 +08:00 via Android
    @hahastudio google 现在不是推 compose 吗 这玩意跟 flutter 简直是一模一样
    chuanbin
        44
    chuanbin  
       2021-12-22 10:16:19 +08:00
    最起码桌面端还差很远。连 webview 都不支持
    zpxshl
        45
    zpxshl  
       2021-12-22 10:18:43 +08:00 via Android
    @fregie 除了 js 单线程做动画麻烦点,其他区别也不大了。notion 就是纯 webview 做的,体验也不错。
    liaohongxing
        46
    liaohongxing  
       2021-12-22 10:27:07 +08:00
    flutter 毫无疑问是可以的 。FPS 能达到 60 甚至更高 。那动画丝滑顺畅,比小程序强几倍 。
    车机这种资源少,主频低的都开始选择 flutter ,FPS 也高,体验丝滑,比浏览器套壳占用资源还少。
    车机唯一能比的是 QT ,但是开发效率没 flutter 高。
    WebKit
        47
    WebKit  
       2021-12-22 10:29:16 +08:00
    Flutter 目前混合开发里,排名第一,这不说我说的,这是 Google 统计的。混合开发里,目前就两个能打的 RN Flutter

    你说的这些功能,都是支持的,当然是通过插件的方式。

    我自己本来做 Android 开发,写了几个 Flutter 项目。总体感觉 UI 写起来很快,然后跨平台支持也不错。目前打包了 Android iOS macOS 这几个都挺不错的。

    @alexkkaa #43 Google 的 compose 是给 Android 用的,相当与 Swift UI ,JetBrains Compose 是一个跨平台项目。但是跟 Google 没啥关系。
    hahastudio
        48
    hahastudio  
       2021-12-22 10:29:24 +08:00
    @alexkkaa 是呢,Compose 都开始支持桌面组件了,这种功能 Flutter 肯定是没日子见到了
    youxiachai
        49
    youxiachai  
       2021-12-22 10:32:15 +08:00
    原生功能还是写 C,给 flutter 调用...最省事.
    youxiachai
        50
    youxiachai  
       2021-12-22 10:33:26 +08:00
    @hahastudio flutter ffi 一下就可以支持了吧......我觉得只是看有没有人做而已
    GLee9507
        51
    GLee9507  
       2021-12-22 10:34:14 +08:00
    @liaohongxing 想了解下哪款车机应用使用 flutter 了
    mxT52CRuqR6o5
        52
    mxT52CRuqR6o5  
       2021-12-22 10:34:53 +08:00
    @murmur
    大厂的小程序可以开后门解除小程序 2m 限制
    youxiachai
        53
    youxiachai  
       2021-12-22 10:37:46 +08:00
    @GLee9507 https://flutter.dev/showcase/toyota 丰田的新车,应该还在开发还没上市
    sss393
        54
    sss393  
       2021-12-22 10:38:42 +08:00
    身为程序员,你不会上 GitHub 看看 RN 和 flutter 的开源质量和数量吗?一目了然了
    hahastudio
        55
    hahastudio  
       2021-12-22 10:45:01 +08:00
    @youxiachai 不是吧,我印象里 Flutter 是有单独的 render engine ,但是桌面组件调用不到
    fregie
        56
    fregie  
       2021-12-22 10:49:26 +08:00
    @alexkkaa 不要再来讨论产品了行吗,我一点都不在乎哪个公司到底是做小程序更好还是原生 app 更好。
    fregie
        57
    fregie  
       2021-12-22 10:50:34 +08:00
    @murmur 行,我问你体验好不好,你跟我说用起来很方便,到此为止我不回复了。
    3dwelcome
        58
    3dwelcome  
       2021-12-22 10:52:57 +08:00
    生态肯定会越来越好,传统的那套 HTML+CSS+JS 有上限的,你要做表单展示可以,但是要做成游戏那种互动性,就很难。

    Flutter 自绘制能很好的弥补这部分软肋。

    这样说吧,用哪一种技术和具体项目有关系。传统前端和写 Flutter 的,这两部分人是互补,而不是竞争关系。
    wobuhuicode
        59
    wobuhuicode  
       2021-12-22 10:54:41 +08:00   ❤️ 1
    做海外外包项目的必备神器,firebase 无缝集成。
    国内 SDK 就别看了。
    另外原生的硬件连接最好还是自己搞。
    3dwelcome
        60
    3dwelcome  
       2021-12-22 10:58:43 +08:00
    @fregie “行,我问你体验好不好,你跟我说用起来很方便,到此为止我不回复了。”
    游戏体验最好,但很少有人会用 u3d 开发企业的官网展示。

    每一种技术都自己的适用性,我没觉得 webview 套皮体验很差,也有硬件加速,滚动也很丝滑。

    卡是别的一些原因,不是技术的锅。
    zachlhb
        61
    zachlhb  
       2021-12-22 11:08:38 +08:00
    好不好要看人,很多人觉得不好因为是要重新学一套东西,flutter 和 uniapp 这些不是一个东西,不能比,uniapp 这些是国产框架,他们优先考虑的是小程序,然后再来兼容 APP ,所以开发小程序 uniapp 这些非常好,但就 APP 来说效果就很差,一些简单功能可以,要到复杂点就不行了,因为它的东西都是通过小程序那套映射过来的;而 flutter 没有小程序,主要考虑的是多端跨平台( web 、移动端、桌面端)的一体化,整体性能来说要比 uniapp 这些要好,所以说如果只是要开发 APP ,选择 flutter 非常不错,对于生态来说,现在各厂商已经开始统一接口,也就是 restful 接口,这样就不用每种语言必须得有 SDK 才能进行开发,所以功能实现起来是没有问题的
    youxiachai
        62
    youxiachai  
       2021-12-22 11:18:51 +08:00
    @hahastudio 可以通过 ffi 来调用原生能力
    youxiachai
        63
    youxiachai  
       2021-12-22 11:20:45 +08:00
    @hahastudio 现在 flutter desktop 支持的原生的系统托盘,通知,窗口, 都是通过原生插件来实现,
    lodisy
        64
    lodisy  
       2021-12-22 11:21:43 +08:00 via Android
    正在学 本地离线存储你们都用什么? hive drift objectbox?
    debuggerx
        65
    debuggerx  
       2021-12-22 11:30:50 +08:00   ❤️ 4
    摄像: https://pub.flutter-io.cn/packages/wechat_camera_picker
    录音: https://pub.flutter-io.cn/packages/flutter_sound_lite
    定位: https://pub.flutter-io.cn/packages/geolocator
    很多用起来比原生还简单方便很多,而且还不用写两份代码
    如果我说,某些方面 flutter 的体验和生态甚至已经超越原生,不知道会不会被喷死
    ykrank
        66
    ykrank  
       2021-12-22 11:55:24 +08:00   ❤️ 1
    能拿 flutter 和小程序比的不仅是不懂技术,更重要的是没懂业务。
    flutter 对标的是 app ,小程序对标的是 webview ;说了一堆小程序的优点,然而那是 webview 的优点。
    轻量级的用 webview 就够了,现在有了小程序只是有了更好的性能基线,之前那种是个简单业务都要做 app 才是畸形。中量,重量级的永远只能 app ,无论靠浏览器还是靠微信,都不可能提供系统级的开放能力,而 flutter 是在这一层面具有跨端能力的。
    BigDogWang
        67
    BigDogWang  
       2021-12-22 12:00:58 +08:00
    dart 是很简单,但是也很蠢。

    至于生态,现在还太差,目前在用 flutter 开发,经常需要自己写库或者去修复开源库的 bug
    fregie
        68
    fregie  
       2021-12-22 12:40:39 +08:00
    @3dwelcome 那是因为 app 的复杂度还太低,复杂度高了把 webview 做到丝滑要付出的开发成本很高的,如果抛开开发成本谈的话我承认你是对的。这也是业界几乎没有用纯 webview 做大型 app 的原因
    WebKit
        69
    WebKit  
       2021-12-22 12:44:12 +08:00 via Android
    @3dwelcome webview 能做到秒开吗?还有页面很多视频 图片的时候如何滑动不卡?不卡值得是不掉祯,流畅滑动。我们最近因为卡顿的问题正在把 webview 的页面逐个改成原生
    makelove
        70
    makelove  
       2021-12-22 12:44:28 +08:00
    @fregie fb/twitter/google 这些网站是不是 web app 啊,很卡吗
    ooh
        71
    ooh  
       2021-12-22 12:44:41 +08:00
    如果没有库就比较头疼吃三次饭
    lzgshsj
        72
    lzgshsj  
       2021-12-22 12:46:22 +08:00
    国内生态一般,比如高德 flutter SDK ,本质是调用安卓 SDK ,但是很多功能都是没有移植的。
    比如在地图上画个圆,原生 SDK 有 addCircle 方法,flutter SDK 就没有,最后在 CSDN 上看到用 360 个点画了个多边形,勉强解决问题,绝了。
    高德还算好了,百度地图 flutter SDK 上一次更新还是去年,腾讯地图压根没有 flutter SDK 。
    另外腾讯云,阿里云这些开放平台很多功能也只有安卓,iOS 和 web 的 SDK ,基本都没有 flutter SDK 。
    3dwelcome
        73
    3dwelcome  
       2021-12-22 13:26:08 +08:00
    @fregie

    “这也是业界几乎没有用纯 webview 做大型 app 的原因”

    我总觉得卡,是 MVVM 框架的锅(逃)
    Bijiabo
        74
    Bijiabo  
       2021-12-22 13:55:21 +08:00
    Flutter 终归还是要凉的,不要浪费时间在快要被扔掉的方案上。
    zouzhigang
        75
    zouzhigang  
       2021-12-22 14:06:39 +08:00
    @lzgshsj 这个情况可以自己写个 flutter 插件,还是需要安卓和 iOS 的支持,说到底插件的本质还是调用安卓和 iOS 的 SDK
    markgor
        76
    markgor  
       2021-12-22 14:14:18 +08:00
    Flutter 没用过,UNIAPP 倒是常用,IOS 和小程序都上架了。
    上面也看提到了小程序和 APP 的对比,
    我自己的看法是 APP 能实现小程序很多无法实现的功能。只是肯能太细你们没看到,另外小程序早就不是 2M 了,有分包加载功能。
    1 、图片
    对于 APP 而言,我习惯的是把图片资源缓存,后续只需要检查沙盒里面有没这个资源,避免重复加载,这一点在小程序是无法完美实现,只能基于 web 的缓存。

    2 、长页面长列表
    对于 APP 可以通过对应组件,达到不可视区域的资源释放,但是在小程序中(web),当列表达到一定程度(特别是包含图片的),直接就卡死了。

    3 、支付方式
    小程序中除了微信支付还能用什么支付方式?但 APP 可以使用不同的 sdk 不被受限。这一点对于港澳台业务的非常重要。客户人群有使用微信,但却不是使用微信钱包,而是使用当地的第三方支付渠道,小程序中就没法直接拉取支付。

    4 、分享
    安卓的小程序可以分享朋友圈,app 则不受限制,常规做法都是 app 搭配 H5 进行分享。

    5 、小程序常年改接口.........
    lzgshsj
        77
    lzgshsj  
       2021-12-22 14:46:01 +08:00
    @zouzhigang #75
    说实话,我是照着高德地图 flutter SDK 的添加 polygon 代码,重写了添加 circle 的 java 和 dart 代码,编译也通过了,也能看到有调用输出,就是显示不出来,最后只能画多边形近似圆曲线救国。
    问题就出在这,写插件根本离不开原生 SDK ,没人维护插件就只能自己研究原生 SDK 的代码然后写插件。写 flutter 一时爽,写适配插件火葬场,对我这前端来说还需要写 java 体验属实割裂了,如果还要写 swift 。。。难顶。
    lolizeppelin
        78
    lolizeppelin  
       2021-12-22 14:47:24 +08:00   ❤️ 1
    dart 根本不是问题....代码写多了这玩意没什么差别

    要熟悉的是 fultter 框架本身而不是 dart 语言
    就和你写 angluar 一样要熟悉的是 angluar 框架而不是 ts
    语言本身是很容易熟悉的

    flutter 框架写起来和 react 其实差不了太多,写起来其实也没什么大问题

    但是无论你开发什么手机 app 只要不是纯 http 通信都得和原生接口打交道,而且因为用不上其他库,还得比一般调库崽更熟悉原生才能玩得转这种垮平台框架。

    其实上面说得很对, 的确是生不逢时,错过了移动端泡沫期。

    搞黑产的据说都挺喜欢这玩意的,干起来真是快。
    djkloop
        79
    djkloop  
       2021-12-22 15:06:40 +08:00
    其实 flutter 我更看好 kt... 天然支持 java 再加上 jetpack compose 然后也在搞跨平台...反而觉得 kt 才是 yyds
    xz410236056
        80
    xz410236056  
       2021-12-22 15:09:40 +08:00
    @Hanggi #8 体验差啊,你作为用户会关心他用什么实现吗
    djkloop
        81
    djkloop  
       2021-12-22 15:10:07 +08:00
    @djkloop 回复自己...应该是 jetpack compose 和 flutter 比... kt 应该和 dart 比...所以我更看好 jetpack compose
    xz410236056
        82
    xz410236056  
       2021-12-22 15:11:18 +08:00
    @lzgshsj #77 就算纯 UI 不需要交互,你两端 UI 用一套? flutter 默认是谷歌的设计风格,跟 iOS 画风完全不同啊。
    pengtdyd
        83
    pengtdyd  
       2021-12-22 15:14:58 +08:00
    不是 flutter 不行了,而是移动端的时代已经过去了,没有红利了。
    exploreexe
        84
    exploreexe  
       2021-12-22 15:27:52 +08:00   ❤️ 1
    @lzgshsj #59 最搞笑的就是阿里,吹 flutter 吹的最猛 支持最差,哈哈哈。
    写插件这种体验就好像用 uniapp 一样,有些功能没支持,不会安卓和 iOS 真的非常难顶。

    感觉用这种跨平台的方案最大的问题就是第三方 SDK 支持,当年不用 uniapp 主要问题就是连个 Google Play 支付都要自己写,第三方统计什么的就更别提了。uniapp 还是只适合小程序。

    至于 flutter ,我们看一组数据:

    字节跳动有 70 多个 App 选择 Flutter 作为跨端解决方案。
    相比 Android/iOS 双端开发,跨平台的 Flutter 可以节省约 1/3 的开发时间。
    现在,字节跳动许多 App 都用了 Flutter 和其他技术混合的开发方式,新的产品更倾向完全使用 Flutter 。在西瓜视频、抖音火山版、开言英语等多个业务上,Flutter 都提升了大约三分之一的开发效率。

    不只是头条系,腾讯很多新产品也都尝试完全使用 flutter 开发,原本以为大厂不在乎开发效率问题,反正有的是人,现在看也是效率优先。

    所以 Flutter 到底咋样,还是得看开发者到底愿不愿意用呀,很显然开发者已经做出了选择。

    感觉 V 站很多人受到某鱼的影响,因为确实就是一坨屎,起了一个完美的反面案例,能做到这一点,ali 也是挺牛逼的。
    KeyboardManAnAn
        85
    KeyboardManAnAn  
       2021-12-22 15:38:12 +08:00
    @pengtdyd 元宇宙不是又要被吹起来了? 这玩意儿也需要大量的 UI 开发吧, Flutter 到时候应该可以无缝迁移到各个 AR, VR, MR 平台
    murmur
        86
    murmur  
       2021-12-22 15:49:53 +08:00
    @exploreexe 抖音和头条完全 flutter 了么,剩下 68 个都死了对字节也没什么影响,我说的是完全 flutter ,少拿那种一个页面一个功能刷 gdp 凑数的

    腾讯也一样,除了微信和 qq 都死一死反倒还能净化下互联网环境
    murmur
        87
    murmur  
       2021-12-22 15:50:34 +08:00
    更正:gdp->kpi
    murmur
        88
    murmur  
       2021-12-22 15:52:58 +08:00
    我看了新闻是 5 月的,5 月开始国家不已经帮教育 app 体面了,怎么还有开言英语
    tabris17
        89
    tabris17  
       2021-12-22 15:54:27 +08:00
    @alexkkaa 理由是 webview 性能不好。不过现在手机配置看来,webview 基本没有性能瓶颈,就是费电
    murmur
        90
    murmur  
       2021-12-22 16:08:36 +08:00
    @KeyboardManAnAn 这玩意需要 unity 或者 unreal 开发啊,最接近游戏的
    markgor
        91
    markgor  
       2021-12-22 16:10:12 +08:00
    @exploreexe #84 uniapp GooglePay 不携带因为不是刚需,而且也要留一口饭给插件开发者。
    你提到的 uniapp 连个 googlePay 支付 /第三方统计 都没有,只适合小程序 实在无法赞同,
    敢问 flutter 是天生自带了微信支付和支付宝支付吗?

    我不清楚 flutter 的环境,但就 uniapp 而言,原生没带的 sdk ,你可以自己封装下 ios 和 aos 的插件官方 sdk 给 uniapp 调用,如果你不会怎么封装,插件市场 常规的基本都有的购买,冷门的也可以找别人开发,论坛一堆原生 sdk 开发接单的。
    murmur
        92
    murmur  
       2021-12-22 16:20:56 +08:00
    喷的太多是时候结题了,我来说下 flutter 的问题
    1 、嵌套 ui 恶心死人,你的 IDE 都支持在注释显示闭合标签 // some component ,为啥不把 dartx 做出来
    2 、对 native 有依赖,目前看来微信小程序是以秒杀级体量为 native plugin 背书的
    3 、坑多,等 flutter 简单到跟 vue 一样的时候,怕不是不用你安利,0 基础几天学会
    4 、缺少一套开箱即用的体系跨端 ui ,这个在 h5 怕不是闭着眼睛选一套
    imklay
        93
    imklay  
       2021-12-22 16:30:27 +08:00   ❤️ 2
    用 flutter 开发了两个 app ,一个 pad 端,一个手机 app 。我的体验是学习曲线真的 ok 的,录屏,拍摄,录音,定位都有解决方案,写 UI 真的快的一批。
    有人说道对 desktop 的支持不好,我感觉官方也不推荐现在就用 flutter 去做 desktop 的样子,package 的丰富程度咱们也不敢用在产品上。还有人说 app 组件的风格是 Material 的,但是官方也提供了 iOS 风格的组件呀,再不济,你们的 ui 出了高保真自己写样式也不复杂,或者说复杂程度不高。写的过程中可以逐渐抽离出自己的组件库,我觉得体验可以很棒。
    还有提到状态管理 /数据驱动的,学习 flutter 之初,就已经看到有人做了搭建 MVVM 架构了,使用起来我觉得很舒适。
    如果说有移动端 app 开发的需求,排除公司已有的技术选型,我肯定会首先推荐 flutter 的,否则就是 RN 。诸如 uniapp 之类的,我只能说用这东西写 app 的人是真的勇士
    fregie
        94
    fregie  
       2021-12-22 16:37:31 +08:00
    @makelove 大哥,这几个没有一个是啊。移动端 app 没有一个是 web app 啊!大哥!
    exploreexe
        95
    exploreexe  
       2021-12-22 16:52:55 +08:00
    @markgor #73 flutter 的第三方 SDK 支持率可比 uniapp 要强太多了。不了解 flutter 就去了解下,你的认知会发生改变的。

    你之前没吃过好的,就觉的现在的是好的,当你习惯了好的 才知道什么难吃。
    yawenimy122
        96
    yawenimy122  
       2021-12-22 17:33:03 +08:00
    第三方 SDK 不支持不是很正常的事吗?自己写个原生插件不就完事了吗?我是原生转 Flutter 的,比较顺手,如果是新手,没有原生开发经验,那就算了。现在要我再写一个 app ,我绝对选择 Flutter ,页面写起来真的太爽了,而且现在常用的原生功能,dev pub 都有很多很好的支持库,不用担心兼容问题。
    yu7er
        97
    yu7er  
       2021-12-22 17:35:34 +08:00
    用 Flutter 开发了一个 app 体验还是很不错的,入门很简单,dart 也没有什么难点,基本上是边写边学的。打包出来的 ap p 可以说是很流畅了,高刷屏基本上帧数可以跑满。就是数据多和图片多的场景会有点点卡顿,跨平台能力一流。前两年也写过 RN ,碰到的坑真的是一个比一个恶心,在 Flutter 上暂时没碰到什么大坑,挺推荐前端的同学们尝试尝试的,很期待 Flutter 未来的发展。
    maplelin
        98
    maplelin  
       2021-12-22 17:58:41 +08:00
    @TomVista #13 uniapp 兼容性问题多的厉害,不知道 flutter 咋样,如果兼容性好一点,那确实也算是解决了一大痛点
    makelove
        99
    makelove  
       2021-12-22 18:20:26 +08:00
    @fregie 我不用 twitter 的原生 app ,直接用网页版,没什么不好的
    secondwtq
        100
    secondwtq  
       2021-12-22 19:39:40 +08:00
    #17 @murmur 不敢苟同,在我看来,虽然现在新的老的各种语言很多,但是真正实用的静态类型编程语言,依然是一个未解决的问题。

    这个“真正实用的静态类型编程语言”的意思是:跨平台,有基本的“现代”功能集,主要面向 native AOT 编译且运行时较轻量,支持多线程。

    动态类型、有虚拟机的编程语言已经有 JavaScript 、Python 、Scheme 等成功典型了。
    静态类型,有虚拟机的,C#,Java 及一票 JVM 语言也都不错。
    TypeScript 算是中间的。这些领域的吃鸡已经基本完成了。

    但是静态类型无虚拟机暂时还比较混乱。C 抽象能力太差,C++ 洞太多,Ada 、Pascal 、Fortran 、D 等要么凉了要么不温不火,Haskell 智商兼容性太差。上个十年这一波新语言可能得有一半,包括 Rust ,Swift ,Go ,Nim ,Vala 之类的都在试图解决这个问题。而其他很多新老语言,如 Kotlin ,Scala ,C# 甚至 TypeScript 也在探索这条路,现在吃鸡大赛暂时还没打完。

    你举的这几个例子比较失败,AOT 编译+静态类型是 Flutter 核心卖点之一。Lua 是动态类型先踢出,TS 不完全是静态类型不适合 AOT 编译也踢出,C#虽然可以 AOT ,但是语言本身并不是针对这个设计的,削足适履可能还不如用 Dart 。在我看来,Dart 只是刚好 check 了上面所有的 box 的“经济适用语言”而已。

    你举这些例子还不如问为啥不用自家的 Go 。我推测这涉及到另外一个问题,就是除非语言具备足够的元编程能力并且工具提供良好的支持,要做 GUI 框架,总是要其所依赖的编程语言本身配合加点功能更好。比如苹果专注做 GUI ,从 NeXT 算起的两代语言,Objective-C 和 Swift ,都为了 GUI 开发做了一些定制(当然跟你说苹果可能显得我大脑比较高级 ...),JavaScript 也有 JSX 之类的东西,GTK 也自己搞出个 Vala ,Qt 最奇葩搞出个 moc 。
    那比较理想的情况就是,框架开发者能在一定程度上控制语言的发展。C#、Swift 之类的是别人的,没法控制,Go 已经做大了(可能还有内部的一些组织问题),看起来也不好控制,就拎出来个 Dart ,一边需要个工具语言,一边需要推广,一拍即合,皆大欢喜,双赢!
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3229 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 12:20 · PVG 20:20 · LAX 04:20 · JFK 07:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.