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

目前最强的 ios android 跨端框架是 flutter 吗,它发展前景是不是很美好,有没有经过时间的验证

  •  
  •   unt · 2022-08-11 09:40:00 +08:00 · 9961 次点击
    这是一个创建于 868 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想从前端转 flutter ,可行性怎样

    72 条回复    2022-08-15 08:59:13 +08:00
    kinXdle
        1
    kinXdle  
       2022-08-11 09:44:01 +08:00   ❤️ 5
    是 h5
    GreatAuk
        2
    GreatAuk  
       2022-08-11 09:44:44 +08:00
    为什么要转呢,不能两个都要吗
    Leonard
        3
    Leonard  
       2022-08-11 09:46:16 +08:00
    前端不好吗
    DvorakChen
        4
    DvorakChen  
       2022-08-11 09:49:36 +08:00   ❤️ 1
    如果你想做移动端,又懒得学安卓和 IOS ,那么 Flutter 是一个不错的选择,但是 Flutter 不适合做 Web 。如果你想专精移动端那么原生的安卓和 IOS 也是离不开的。
    rbq123456
        5
    rbq123456  
       2022-08-11 10:05:33 +08:00
    我司海外项目的 app 都是 flutter ,我们是做阅读类的。
    JHExp
        6
    JHExp  
       2022-08-11 10:15:07 +08:00
    纯写 Flutter 可以用 混编的话还不如直接写原生代码 另外前端前景明显更好 转是不划算的 抽空自己写几个玩玩吧
    debuggerx
        7
    debuggerx  
       2022-08-11 10:20:31 +08:00   ❤️ 3



    keymao
        8
    keymao  
       2022-08-11 10:25:03 +08:00   ❤️ 1
    React Native
    musi
        9
    musi  
       2022-08-11 10:26:02 +08:00
    你可以自己先写个 demo 试试
    然后你就被劝退了
    别问我是怎么知道的
    我刚被劝退
    matatabi
        10
    matatabi  
       2022-08-11 10:26:55 +08:00
    不做小程序就还好
    Vitta
        11
    Vitta  
       2022-08-11 10:34:45 +08:00
    挺好的,比 ionic, quasar 舒服多了。甚至拿 flutter 写过 web ,不咋好
    i979491586
        12
    i979491586  
       2022-08-11 10:48:10 +08:00
    前端有啥想不开的想学客户端啊?兄弟路走窄了呀,想学的话为啥不试试 React Native 呢?
    lancelock
        13
    lancelock  
       2022-08-11 10:50:03 +08:00
    应该没有一个专门的职位叫 flutter ,有也是客户端开发
    Cat7373
        14
    Cat7373  
       2022-08-11 10:50:51 +08:00
    邪教了解一下:Uni-app
    DCELL
        15
    DCELL  
       2022-08-11 10:55:37 +08:00
    10 年老移动开发,android ios h5 flutter 都搞;无论 flutter rn ,还是 h5 ,开发只是一种能力,如果你要排除问题,你还是要学习原生知识;我不太看好 flutter ,因为那天 flutter 真的影响到 iOS 原生开发生态,apple 禁止就是一句话的事情。
    coolmint
        16
    coolmint  
       2022-08-11 11:00:56 +08:00   ❤️ 1
    我们公司也是 flutter ,我之前做 Android 的,到这边一个人用 flutter 做两端,还是挺舒服的,不过我们的 app 不算复杂,就是常见的这种增删改查的 app ,用 flutter 舒服的很。
    库很多,比如生物识别,一个库搞定两端。
    比如通过 iOS 系统的 Secure Enclave 或安卓的 Keystore 生成硬件加密的私钥公钥,一个库搞定。
    比如两端的开屏图片,通过一个库直接自动生成了。
    flutter 成熟是非常成熟了,至于是否应该从前端转过来,还是得自己分析下发展前景和自身爱好。
    BUHeF254Lpd1MH06
        17
    BUHeF254Lpd1MH06  
       2022-08-11 11:07:10 +08:00   ❤️ 2
    跨端这个东西真的是尴尬,我是 iOS 开发者转前端,跨端始终还是绕不开原生开发内容,无论是集成还是打包。如果你真要搞最终还是要既要懂 iOS 又要懂 Android
    yaphets666
        18
    yaphets666  
       2022-08-11 11:09:23 +08:00
    客户端没前途,赶紧转 java
    sobigfish
        19
    sobigfish  
       2022-08-11 11:30:47 +08:00   ❤️ 1
    al 的 app 做成那么烂,你说他们是技术问题还是跨平台框架本身地基不稳?
    就说一个选图,就改个头像一堆要相册权限
    iOS 原生的 viewcontroller 不行吗?(不需要权限)
    wpo
        20
    wpo  
       2022-08-11 11:35:19 +08:00
    我目前在公司投入用 Flutter 在车载屏和移动 APP ,同时输出 Windows 、Linux 、macOS 的应用,包含 ADB 、蓝牙、Wi-Fi 、USB 转串口通信等上位机功能。
    murmur
        21
    murmur  
       2022-08-11 11:37:22 +08:00   ❤️ 1
    国内最强是微信小程序,不要怀疑,app 是减量年代,小程序打市场拿投资,拿下投资才配开发 app
    GreatAuk
        22
    GreatAuk  
       2022-08-11 11:41:40 +08:00
    @v135ex +1 ,react native 踩了两年坑,做复杂点的 app, 最好懂 IOS 和 Android 。flutter 同理
    zhuweiyou
        23
    zhuweiyou  
       2022-08-11 11:45:18 +08:00   ❤️ 2
    flutter 和 rn 都是垃圾
    murmur
        24
    murmur  
       2022-08-11 11:52:51 +08:00
    @Vitta ionic 是 h5 壳子,能拿 flutter 跟 ionic 比你就输了,ionic 可以配 react ,可以配 vue ,人家的目的非常明确就是给 h5 套壳,你 flutter 重写渲染引擎到头来只配跟 ionic 比么
    unt
        25
    unt  
    OP
       2022-08-11 12:30:35 +08:00
    @GreatAuk #2
    @Leonard #3 太卷了,开始讨厌了。。。。
    unt
        26
    unt  
    OP
       2022-08-11 12:31:31 +08:00
    @musi #9 哈哈~,我看了下 dart,确实和 js 有非常大的不同,所以才没有开始学
    unt
        27
    unt  
    OP
       2022-08-11 12:35:57 +08:00
    @DvorakChen #4
    @JHExp #6
    @DCELL #15
    @v135ex #17
    @GreatAuk #22
    谢谢,都说要既懂安卓又懂 ios,我先写 demo 玩玩吧
    nothingistrue
        28
    nothingistrue  
       2022-08-11 13:38:51 +08:00
    如果 win10 mobile 活过来的话,应该是 Xamarin
    novaline
        29
    novaline  
       2022-08-11 13:43:03 +08:00
    夹在 H5 和 native 之间,尴尬
    flytsuki
        30
    flytsuki  
       2022-08-11 13:43:42 +08:00
    app 肯定是 flutter ,如果要做小程序的话还是用 uniapp 好了
    beisilu
        31
    beisilu  
       2022-08-11 13:57:43 +08:00
    目前很少专职 flutter 岗位,前端和 flutter 属于两个赛道,学了也不能转。
    exploreexe
        32
    exploreexe  
       2022-08-11 13:58:35 +08:00
    还是苟在前端吧,移动开发现在很容易找不到活。。。现在很多公司都不招移动端开发了,太饱和了

    如果业余学学没问题
    MagicLi
        33
    MagicLi  
       2022-08-11 14:01:16 +08:00
    就没有人回复如果本来是 java 的话 dart 看着贼舒服吗,( doge ).
    fox0001
        34
    fox0001  
       2022-08-11 14:04:27 +08:00 via Android
    用过最成功的 Flutter 案例,应该是“闲鱼”了。不知道淘宝客户端是不是也使用了。

    Flutter 最大的好处是,一套代码兼容 Android 和 iOS ,并且流畅运行。当然,不是 100%兼容或覆盖,会遇到一些需要两边各自处理的问题。
    murmur
        35
    murmur  
       2022-08-11 14:04:54 +08:00
    @MagicLi 但是从界面角度 dart 的死亡嵌套就一坨屎,怎么比的上 xml 或者 html 舒服
    v400127
        36
    v400127  
       2022-08-11 14:15:54 +08:00
    flutter 转成 web 最大的麻烦在于资源文件的打包,如果能做到以页面为单位从后台抽取元素在前端生成界面就很好了。这个应该会实现的。
    我看代码,不管是 java 还是 xml 都没有我看小说的格式舒服,习惯就好了,程序员干活的痛点本来就不在格式,在于逻辑清晰。况且嵌套好不好,还要看怎么写的。
    去用就好了。
    gesse
        37
    gesse  
       2022-08-11 14:16:44 +08:00
    @rbq123456
    国外做阅读类的? 看小说还是啥?
    Hongwu
        38
    Hongwu  
       2022-08-11 14:22:09 +08:00
    flutter 现在连大公司都是浅尝辄止,慎重用吧
    belowfrog
        39
    belowfrog  
       2022-08-11 14:23:33 +08:00
    RN 很多包已经名存实亡了,几年不更新。还有的包比如 reanimated ,明明很多人在用,还存在非常严重的内存泄漏,多线程导致 crash 的 bug 。
    flutter 据我观察,这两年社区挺活跃的,库挺多的
    unt
        40
    unt  
    OP
       2022-08-11 14:24:27 +08:00
    @Hongwu #38 大公司有实力原生开发呀,所有不会用这种,一般小公司才考虑跨端
    xz410236056
        41
    xz410236056  
       2022-08-11 14:26:52 +08:00
    @coolmint #16
    机器学习(生物识别)在 iOS 上没有比 Core ML + vision 好用的。
    “比如两端的开屏图片,通过一个库直接自动生成了。”
    iOS 在 assets 里扔个图片就行了,代码都不用写。复杂点的用 lunch screen 直接可视化的画。
    apple 对开发者友好程度比谷歌强多了。
    xz410236056
        42
    xz410236056  
       2022-08-11 14:29:25 +08:00
    @fox0001 #34 咸鱼也不用了吧,之前用 flutter 的时候各种白屏,肉眼可见的慢。当然也可能是实验阶段的时候水平不行
    dreamramon
        43
    dreamramon  
       2022-08-11 14:34:15 +08:00
    React 吧,网页一起搞了。
    Flutter 的搞网页麻烦。
    fox0001
        44
    fox0001  
       2022-08-11 14:41:25 +08:00 via Android
    @xz410236056 #42 究竟闲鱼有没有放弃 Flutter ,真不知道。但搜索“闲鱼 flutter”有很多相关内容,其中还提到闲鱼开源了 fish redux ,是 flutter 相关的东西,具体没看。

    另外,我们用 flutter 做过 app 项目,各种操作是流畅的,跟原生没区别。
    zeal7s
        45
    zeal7s  
       2022-08-11 15:09:13 +08:00   ❤️ 1
    难道不是游戏引擎吗?比如 Unity [手动狗头]
    fengfuliu
        46
    fengfuliu  
       2022-08-11 15:10:04 +08:00
    @belowfrog reanimated 我看了 github 前两天还在提交代码吧 https://github.com/software-mansion/react-native-reanimated
    HeapOverflow
        47
    HeapOverflow  
       2022-08-11 15:20:31 +08:00 via iPhone
    有人感兴趣的话,可以看看我用 flutter 写的 hacker news 客户端( android 端体验可能不是很好): https://github.com/Livinglist/Hacki
    swordne
        48
    swordne  
       2022-08-11 15:57:09 +08:00
    @fox0001 闲鱼好像还是 flutter ,关注一个做手机输入法的开发者,反馈过好多次 flutter 的 bug 导致输入法的候选字栏显示异常。
    mmm159357456
        49
    mmm159357456  
       2022-08-11 16:24:16 +08:00
    就我的学习经验而言,原生该遇到的坑一个都跑不了
    xiqishow
        50
    xiqishow  
       2022-08-11 16:26:32 +08:00
    @zeal7s #45 flutter 的本质也是 2d 渲染引擎 可以理解为一种 2d 游戏引擎[doge]
    CHTuring
        51
    CHTuring  
       2022-08-11 16:30:17 +08:00
    React Native 加 EXPO ,功能都能实现。
    kangyan
        52
    kangyan  
       2022-08-11 17:06:39 +08:00
    与其纠结兼容性,不如原生学起来
    linroid
        53
    linroid  
       2022-08-11 17:21:01 +08:00
    如果要入坑 flutter ,建议买台显微镜来帮助对符号
    iwh718
        54
    iwh718  
       2022-08-11 17:28:01 +08:00
    一直用 RN ,挺好的。
    duanxianze
        55
    duanxianze  
       2022-08-11 17:28:15 +08:00
    任何跨端框架都有个问题,就是你需求稍微复杂一点就必须会原生开发,对个人或者小公司来说必须至少有三个人或者同时会三个技能的人,算下来没有节省太多的时间和金钱
    youxiachai
        56
    youxiachai  
       2022-08-11 17:30:06 +08:00
    @DCELL flutter 怎么可能影响到 ios 的原生生态.....

    你以为用 flutter 开发, 就可以完全不用 ios 的东西啊...
    youxiachai
        57
    youxiachai  
       2022-08-11 17:31:55 +08:00
    @fox0001 淘特啊.纯 flutter
    youxiachai
        58
    youxiachai  
       2022-08-11 17:34:36 +08:00
    @duanxianze dart::ffi 我一个搞 android,最近都在看 win32...最后 10%的功能真折磨..
    fox0001
        59
    fox0001  
       2022-08-11 17:49:23 +08:00 via Android   ❤️ 1
    还是回答一下楼主的问题吧

    1 )前景,我觉得好的。首先是 Google 开发主导的,目前兼容最多平台( Google 的野心不小)的框架。抛开各种需求场景,我不敢说是最优秀或最强,但起码名列前茅,且能安心使用。

    2 )有很多成功案例,包括 Google 和阿里巴巴等。详见 flutter.dev -> Showcase

    3 )前端转过去,感觉没问题,原理跟 VUE 差不多。我反而是弄过 Flutter ,再回过头来看懂 VUE (但是还没深入)。不过 Flutter 有些概念或做法,可能不能一下子弄懂(因人而异吧)。另外,一开始用,会比 web 开发慢,熟悉了就好。
    coolmint
        60
    coolmint  
       2022-08-11 18:23:53 +08:00
    @xz410236056 #41 确实,除了工作我不会做 flutter ,哈哈哈,我更愿意做 iOS
    winglight2016
        61
    winglight2016  
       2022-08-11 18:35:28 +08:00
    @wpo flutter 直接连上位机?我之前用原生开发,只能用 jni 调用 so 包,真是太痛苦了,一位一位的处理 rambus 消息。如果 flutter 连这些都封装好了,那真的可以代替原生了
    buxudashi
        62
    buxudashi  
       2022-08-11 18:43:06 +08:00
    写了几天 flutter,总是感觉离工程化还很远。

    小公司做点小项目,几下搞搞。大公司一般应该不屑于用 flutter 。它更像是过渡品。配菜,成不了正餐。或者说需要再优化下才能变更好。目前还不行。
    belowfrog
        63
    belowfrog  
       2022-08-11 21:01:11 +08:00
    @fengfuliu 是在更新,不过说的是它的 bug ,你可以去 issue 中搜下 memory ,oom ,crash ,这些,没见它有啥进度。
    作为一个广泛使用的基础库,太不专业了。
    RN 生态,可见一斑吧。
    reallittoma
        64
    reallittoma  
       2022-08-11 21:08:18 +08:00   ❤️ 1
    @winglight2016 #61 想多了,凡是涉及到稍微底层一点的功能(蓝牙、串口等)都离不开原生开发。
    goddoogasidivil
        65
    goddoogasidivil  
       2022-08-11 21:20:01 +08:00
    宜家的客户端几乎全量 flutter 写的,在 ios 感觉还可以,xr 上运行还是比较丝滑
    skyrem
        66
    skyrem  
       2022-08-11 21:45:33 +08:00
    @Cat7373 #14 uniapp 是真的渣。跨各种小程序可能还可以,指望它跨 ios 和 andriod 就很勉强了,各种原生方法不支持,想调可能还得自己写原生插件
    vivipure
        67
    vivipure  
       2022-08-11 23:39:52 +08:00
    为什么是转呢?写 flutter 也是前端呀。跨端框架还是的会原生才行,不然遇到问题头很大。
    LINAICAI
        68
    LINAICAI  
       2022-08-12 14:28:34 +08:00
    混编的开发体验极其差,纯 flutter 可以。
    unt
        69
    unt  
    OP
       2022-08-12 15:15:56 +08:00
    @LINAICAI #68 你们说的混编是什么意思
    LINAICAI
        70
    LINAICAI  
       2022-08-12 17:48:58 +08:00
    @unt 原工程是原生,集成 flutter 模块,或者原工程是 flutter ,集成原生模块,叫混编吧。
    混编解决工程化的问题,各种开发体验就差了。
    wpo
        71
    wpo  
       2022-08-14 08:15:25 +08:00 via Android
    @winglight2016 是在 Windows 上位机的程序,Flutter 只做界面和业务代码实现,需要调用的功能用 shell 拉起其他程序通信,随便套一个类似 Flutter 调用原生的数据结构,比如我要做一个低功耗蓝牙,就另外项目打包一个,功能模块要加载就从后台下载回来。
    DCELL
        72
    DCELL  
       2022-08-15 08:59:13 +08:00
    @youxiachai 格局小了,诺基亚思想;从软件到硬件必须一手抓
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1075 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 19:16 · PVG 03:16 · LAX 11:16 · JFK 14:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.