使用 flutter 开发安卓, iOS, pc 等上位机软件是否可行? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MrLQX
V2EX    问与答

使用 flutter 开发安卓, iOS, pc 等上位机软件是否可行?

  •  
  •   MrLQX 2024-06-06 10:33:16 +08:00 2437 次点击
    这是一个创建于 492 天前的主题,其中的信息可能已经有所发展或是发生改变。

    公司需要开发针对安卓,iOS ,pc 等蓝牙串口通信的上位机软件,之前都是单独原生开发,现在我想使用 flutter 做一个跨平台框架开发,不知道是否可行?

    18 条回复    2024-06-07 09:50:52 +08:00
    nullico
        1
    nullico  
       2024-06-06 13:25:15 +08:00
    可以。不过你需要知道的是 flutter 解决的只是 ui 层面的事情,你和蓝牙,串口这些打交道,都绕不开原生,如果 flutter 有人做了蓝牙和串口的插件,那你直接就用就行了。安卓应该这些都有插件了,但是 pc 的话大概率没有。不过你们既然都有原生开发,那也不是难事。自己写个插件就行。
    ks2ex
        2
    ks2ex  
       2024-06-06 14:20:41 +08:00
    我觉得 Flutter 还解决了安卓 APP 容易被反编译的痛点。Dart 代码被编译成二进制了,再混淆一下,逆向难度直接和 C 或 Rust 编译出来的程序一样难逆向了。直接节省了各种加固的费用,每年好几万呢。
    MrLQX
        3
    MrLQX  
    OP
       2024-06-06 16:30:43 +08:00
    @nullico 其实我也是考虑 flutter 做 ui 比较方便,其他通信还是原生才行
    MrLQX
        4
    MrLQX  
    OP
       2024-06-06 16:31:15 +08:00
    @ks2ex 这个确实是优点
    nullico
        5
    nullico  
       2024-06-06 17:08:21 +08:00
    @MrLQX #3 看你了哇,前几年我用 flutter 弄过你这一套,当然那会儿没有 pc ,反正方案肯定是可行的。楼上说的被反编译的那个也是优点之一。不知道现在 flutter 的 bug 还多不多了。当年我弄的时候反正是得时不时看他底层实现的,看官方 issue 列表也是常事。其实我倒是觉得如果你们有原生开发,直接内嵌 webview ,然后交互弄成统一 api 不也可以?还没那么多有的没得的坑。
    shilianmlxg
        6
    shilianmlxg  
       2024-06-06 18:36:17 +08:00 via iPhone
    大佬 react native 和 flutter 哪个好呢
    shilianmlxg
        7
    shilianmlxg  
       2024-06-06 18:37:04 +08:00 via iPhone
    @nullico #1 大佬 如果做这个需求,react native 好做吗 比起 flutter 有优势吗
    nullico
        8
    nullico  
       2024-06-06 21:13:13 +08:00
    @shilianmlxg #7 native 没有用过不了解,不过涉及到串口这些跟操作系统/硬件交互的,原生是你永远绕不开的一个坎。跨端方案解决的都是 UI 那一侧的解决方案,如果没有原生开发/懂对应平台的开发,你们就只能指望有对应的插件/拓展,就得接受这些插件/拓展带来的不足甚至是 bug 。
    RightHand
        9
    RightHand  
       2024-06-06 21:19:06 +08:00 via Android
    别用一堆坑,flutter 就是个画 ui 的
    xiaoshan5733
        10
    xiaoshan5733  
       2024-06-06 22:15:23 +08:00
    @shilianmlxg 如果你是前端从业者,我会强烈推荐 reactnative ,不过就像 1 楼大佬说的,你要先调研下 reactnative 能否支持你的特定功能,如果只是 UI 和前后端数据交互那完全没问题。
    1una0bserver
        11
    1una0bserver  
       2024-06-07 01:56:45 +08:00 via Android
    当然可行。但还是考虑下你技术栈比较好,跨平台很多需要自己造轮子,太费功夫就不划算了
    Moyudawang
        12
    Moyudawang  
       2024-06-07 08:07:17 +08:00
    可行,我们公司的产品就是蓝牙、串口通信的,有插件可以直接使用,除了 windows 的蓝牙,这个可能需要自己搞,那些说一堆坑的最好说说有哪些坑
    daysv
        13
    daysv  
       2024-06-07 08:41:11 +08:00
    目前明显 rn 的软件数量和质量要高于 flutter
    上手难度 rn 也是低于 flutter
    chinaqq
        14
    chinaqq  
       2024-06-07 08:48:55 +08:00
    可行的,我这个就是基于 Flutter 开发的,通信都是走蓝牙 BLE ,Android 和 iOS 都正常跑
    https://shop.mtoolstec.com/mifare-classic-tool-for-ios
    wpo
        15
    wpo  
       2024-06-07 08:48:57 +08:00
    我之前回复过,在公司投入用 Flutter 在车载屏和移动 APP ,包含 Windows 、Linux 、macOS 的应用,包含 ADB 、蓝牙、Wi-Fi 、USB 转串口通信等上位机功能,低功耗蓝牙程序就写成 ADB 这样的。
    chinaqq
        16
    chinaqq  
       2024-06-07 08:49:53 +08:00
    BTW, iOS 走不了串口,只能走蓝牙 BLE 。Android 和 PC 走串口和蓝牙 SPP 没问题。
    MzM2ODkx
        17
    MzM2ODkx  
       2024-06-07 09:45:55 +08:00
    @shilianmlxg #6 在 twitter 上问,RN 推荐的多。RN 貌似有重大升级,开发体验和性能都上来了。
    Vaspike
        18
    Vaspike  
       2024-06-07 09:50:52 +08:00
    我依然推荐 Kotlin compose
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2446 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 37ms UTC 01:14 PVG 09:14 LAX 18:14 JFK 21:14
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86