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

跨平台技术哪家强?

  •  
  •   James369 · 304 天前 · 4879 次点击
    这是一个创建于 304 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近在关注了一些跨平台技术,不知道用哪个好,比如:

    Qt,老牌桌面跨平台方案,免费,但也支持移动端。Qt6 增加了不少新性,支持 3D 统一层,动画更酷炫等。
    Flutter,谷哥出口新鲜劲旅,移动端高性能方案,但也宣称支持 Web 、桌面和嵌入式平台。
    Unity3D,主要针对 3D 应用的跨平台,但我一直看好它,因为它支持很多的平台,而且可以 Gpu 加速。一直希望它能增加 2D 支持来统一天下。
    Html,真正的跨平台界面标准,真正的一统天下,我最看好它,主要缺点:对原生硬件支撑弱。


    问题是:
    你心中的最理想的跨平台方案是什么,看好哪个?
    如果要快速大范围铺出产品(应用消费型,纯软件),应该选用哪个方案?
    34 条回复    2021-02-04 18:12:56 +08:00
    murmur
        1
    murmur  
       304 天前   ❤️ 1
    目前来说国内 html 一骑绝尘,对,我说的就是微信小程序,真的大规模商用、大厂背书、而且海量日活的技术
    murmur
        2
    murmur  
       304 天前
    html 的 native 支持弱得看谁,微信这个级别的手机测试还没哪个第三方社区框架可以叫板
    Acccc
        3
    Acccc  
       304 天前
    uni-aa
    encro
        4
    encro  
       304 天前
    缺少两个主流:
    .net 5
    java
    James369
        5
    James369  
    OP
       304 天前
    @encro .net 和 java 更多是后端服务吧
    silencelixing
        6
    silencelixing  
       304 天前
    跟硬件相关的,还是用 QT 吧
    cjh1095358798
        7
    cjh1095358798  
       304 天前
    普通应用还得是 h5
    tanranran
        8
    tanranran  
       304 天前   ❤️ 1
    Html,你说得硬件可以用各种套壳来解决

    PC:electron
    Android/iOS/H5/各个平台小程序 :uni-app
    James369
        9
    James369  
    OP
       304 天前
    @tanranran 对 flutter 怎么看,号称也支持 web 和嵌入式
    tanranran
        10
    tanranran  
       304 天前
    @James369 #9 flutter 现在 web 和 PC,性能不行还是测试版不成熟,移动端还行
    wanguorui123
        11
    wanguorui123  
       304 天前
    绕了一大圈,最后还是 HTML,香!
    wxw752
        12
    wxw752  
       304 天前   ❤️ 2
    很不巧,我们公司都有涉及...目前是 pc 端 qt,安卓 ios 端 flutter,3 维展示 u3d 。不过我是后端,也仅仅是知道没有哪个在我们公司通吃。
    XIVN1987
        13
    XIVN1987  
       304 天前
    现在好多工具软件用 electron 开发,,

    Qt 挺好,,就是 C++比较难,,PyQt/PySide 更易用些
    encro
        14
    encro  
       304 天前
    @encro

    .net 5,java 有很多 PC 端和移动端的跨平台框架啊。
    注意是.net 5 。
    loshine1992
        15
    loshine1992  
       304 天前
    Flutter 现在只有移动端能打,桌面和 Web 都不行
    crackhopper
        16
    crackhopper  
       304 天前   ❤️ 2
    都用过。我觉得 MVP 阶段能 H5 就 H5,更快一点,后续再说(移动端 RN,桌面 electron,Web 就随意选择了)。u3d 不可能往应用方面做,特效和性能还是主要的,估计主要瞄准 ue4 来搞了; qt 说实话写起来挺重的,毕竟 c++,但对性能敏感的场合能更好点。未来的跨平台,我会看好 flutter 一点;用的不多,目前支持也不够,不过整体从跨平台 app 角度设计语言的方式,我觉得还是更有前景的。
    ericgui
        17
    ericgui  
       304 天前
    @loshine1992 而且还只是安卓,iOS 肯定还是 Swift
    gdrk
        18
    gdrk  
       304 天前
    H5 套各个平台的壳,一个 hello world 就几十 m 的那种
    xinxing260
        19
    xinxing260  
       304 天前
    根据产品类型和目标用户进行技术选型
    Sapp
        20
    Sapp  
       304 天前
    现在普通应用还是 electron 用的多
    huqi
        21
    huqi  
       304 天前
    回归原生
    lower
        22
    lower  
       304 天前
    没有银弹,按需技术混合着搞也许是较为合理的办法
    DoctorCat
        23
    DoctorCat  
       304 天前
    对性能要求的话,Qt 体验不错。
    对开发成本有要求的话,H5 可以满足。
    KeyboardManAnAn
        24
    KeyboardManAnAn  
       304 天前
    微软的 MAUI 跨平台也正在开发中,未来或许可以一战
    sc3263
        25
    sc3263  
       304 天前   ❤️ 1
    主要做桌面端。用过 Qt5 、PyQt5 、Electron 、原生,调研过 Flutter 。

    Qt5 性能接近原生,上手后开发速度其实很快的。QML 其实很不错,但是学的人用的人都太少,很多坑只能自己填。对各平台下的特性支持的一般,需要自己封装。如果用到了 Qt Web Engine,可能会遇到显卡兼容性相关的问题。
    PyQt5 开发速度极快,但 PyInstaller 打包时不时的会出点幺儿子。以及 Python 本身的性能瓶颈,同样的动画效果,C++实现好不费力,Python 实现能跑满单个核心。
    Electron 开发速度快,各平台下的特性支持全,开发到打包到分发到异常收集,都有完善的解决方案。社区活跃度很高,有啥需求 /bug,很快就能处理。唯一的缺点大概就是体积占用大,运行效率稍微低一点了。
    Flutter 桌面端目前还是玩具,不建议自己去踩坑。

    心中最理想的跨平台方案:核心业务逻辑用 C/C++实现。在各平台下用原生语言去实现界面交互和使用系统特性。但绝大部分场景下,不需要这么重的方案。
    确定下公司当下是否真的需要跨平台方案,是否真的需要移动端和桌面端使用同一套方案。目前并没有哪套框架能够完美通吃桌面端和移动端。各个框架依然需要针对各个端进行适配开发。实际工作量并不比单独维护要小,甚至难度会更高。
    快速出产品的话,桌面端除非有历史经验 /包袱,否则建议无脑 Electron 。移动端没有上线的项目,没有发言权。
    maxxfire
        26
    maxxfire  
       304 天前
    跨平台都有坑,还是原生是王道
    byaiu
        27
    byaiu  
       303 天前 via iPhone
    qt6 根本下不下来,吃相太难看了
    pecopeco
        28
    pecopeco  
       303 天前 via iPhone
    小程序的性能和包大小限制就注定了它走的不是和 app 正面竞争的道路,有自己的生态和适用范围,将来是不可能全面取代并竞争过其他跨平台技术的
    MakHoCheung
        29
    MakHoCheung  
       303 天前
    跨平台肯定 swiftui,说的就是跨苹果多设备,哈哈哈
    CismonX
        30
    CismonX  
       303 天前
    如果是交互形式比较简单的 GUI 应用,Tk 也是一个不错的选择
    psklf
        31
    psklf  
       303 天前
    底层 C++ 上层各写各的。
    hatsuyuki
        32
    hatsuyuki  
       303 天前
    飞书团队用 Rust 写跨平台客户端的非 UI 部分 https://www.bilibili.com/video/BV1jv411t77Z/
    AaronLee01
        33
    AaronLee01  
       303 天前
    React native 就这么被淡忘了么,其实开发体验还可以啊
    2021kaixin
        34
    2021kaixin  
       303 天前
    都是垃圾,都是打包
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2354 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 14:19 · PVG 22:19 · LAX 06:19 · JFK 09:19
    ♥ Do have faith in what you're doing.