跨平台技术哪家强?

2021-02-03 09:36:11 +08:00
 James369
最近在关注了一些跨平台技术,不知道用哪个好,比如:

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


问题是:
你心中的最理想的跨平台方案是什么,看好哪个?
如果要快速大范围铺出产品(应用消费型,纯软件),应该选用哪个方案?
6868 次点击
所在节点    程序员
34 条回复
huqi
2021-02-03 13:25:40 +08:00
回归原生
lower
2021-02-03 13:48:46 +08:00
没有银弹,按需技术混合着搞也许是较为合理的办法
DoctorCat
2021-02-03 13:53:50 +08:00
对性能要求的话,Qt 体验不错。
对开发成本有要求的话,H5 可以满足。
KeyboardManAnAn
2021-02-03 14:29:19 +08:00
微软的 MAUI 跨平台也正在开发中,未来或许可以一战
sc3263
2021-02-03 14:40:45 +08:00
主要做桌面端。用过 Qt5 、PyQt5 、Electron 、原生,调研过 Flutter 。

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

心中最理想的跨平台方案:核心业务逻辑用 C/C++实现。在各平台下用原生语言去实现界面交互和使用系统特性。但绝大部分场景下,不需要这么重的方案。
确定下公司当下是否真的需要跨平台方案,是否真的需要移动端和桌面端使用同一套方案。目前并没有哪套框架能够完美通吃桌面端和移动端。各个框架依然需要针对各个端进行适配开发。实际工作量并不比单独维护要小,甚至难度会更高。
快速出产品的话,桌面端除非有历史经验 /包袱,否则建议无脑 Electron 。移动端没有上线的项目,没有发言权。
maxxfire
2021-02-03 21:41:42 +08:00
跨平台都有坑,还是原生是王道
byaiu
2021-02-04 00:13:46 +08:00
qt6 根本下不下来,吃相太难看了
pecopeco
2021-02-04 08:15:15 +08:00
小程序的性能和包大小限制就注定了它走的不是和 app 正面竞争的道路,有自己的生态和适用范围,将来是不可能全面取代并竞争过其他跨平台技术的
MakHoCheung
2021-02-04 09:10:19 +08:00
跨平台肯定 swiftui,说的就是跨苹果多设备,哈哈哈
CismonX
2021-02-04 09:17:39 +08:00
如果是交互形式比较简单的 GUI 应用,Tk 也是一个不错的选择
psklf
2021-02-04 10:07:18 +08:00
底层 C++ 上层各写各的。
hatsuyuki
2021-02-04 15:12:00 +08:00
飞书团队用 Rust 写跨平台客户端的非 UI 部分 https://www.bilibili.com/video/BV1jv411t77Z/
AaronLee01
2021-02-04 18:00:56 +08:00
React native 就这么被淡忘了么,其实开发体验还可以啊
2021kaixin
2021-02-04 18:12:56 +08:00
都是垃圾,都是打包

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/750797

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX