从头开发一个多平台应用,大家会考虑哪种技术栈?

2022-06-12 23:07:47 +08:00
 1217950746

不考虑项目历史因素,仅从自己最理想的情况下选择技术栈,大家更愿意用哪些?

在需要支持主流平台( iOS 、Android 、macOS 、Windows 、Linux )的情况下,更愿意选择 跨平台 技术,还是使用平台 独立技术栈 开发?

4779 次点击
所在节点    程序员
53 条回复
em70
2022-06-13 00:41:54 +08:00
delphi firemonkey
roundgis
2022-06-13 02:24:28 +08:00
跨来跨去最后都要写 web
akaHenry
2022-06-13 02:42:15 +08:00
推荐 flutter + rust 方案.

- flutter 只做 UI 层, 跨平台.
- rust 做 core lib 层跨平台.

> 优点:

1. flutter UI 开发效率高, 现在已经是 flutter 3.0 版本了. 兼容性做的已经非常好. 放心使用.
2. 主要功能层, 尽量下沉到 rust 来实现. (可以分 2 步走, 第一阶段是 flutter 原生, 后续逐步用 rust 替换)
3. rust 实现 core lib, 好处是, 以后 UI 层, 不使用 flutter, 也可以改造其他方案( iOS/Android 原生, or 其他方案)
4. rust 的性能和跨平台能力优秀. (上手门槛略高, 不过是值得的).

> PS:

有条件就 flutter + rust, 没条件用 flutter.
不过建议从项目结构设计早期, 就做好拆分.
区分 UI 层 和 core lib 层. 方便后续改造.
Alan1978
2022-06-13 09:10:26 +08:00
@1217950746 请问性能哪些地方差呢
NoNewWorld
2022-06-13 09:38:54 +08:00
以前 qt 。现在我用 flutter
nightwitch
2022-06-13 09:45:43 +08:00
桌面端的跨平台的话 Qt 。
要再跨移动端的话就很麻烦了。。考虑 web 技术吧
MinQ
2022-06-13 10:41:56 +08:00
需要性能就 Avalonia UI ,不需要就 electron
1217950746
2022-06-13 10:59:08 +08:00
@orzglory Flutter + Rust 都挺有兴趣去学习的
1217950746
2022-06-13 10:59:53 +08:00
@nightwitch
@NoNewWorld
@shijingshijing

QT + C++ 这一套对开发人员要求太高了
1217950746
2022-06-13 11:01:46 +08:00
@Alan1978
@MinQ

界面上对大量控件的场景不太想,我说的也不太对,不是 Avalonia UI 在 macOS 下边性能差,只能说是分辨率越高越差,macOS 都是高分屏,性能就下来了。

目前我桌面端正在使用 Avalonia UI ,比较想换到如 Flutter 、Web 之类的架构
akaHenry
2022-06-13 11:03:43 +08:00
@1217950746

关于 Flutter 和 Rust 学习. 可以看我的博客.

https://github.com/hhstore/blog/labels/Rust
https://github.com/hhstore/blog/labels/Flutter

Good luck. 😄
1217950746
2022-06-13 11:06:17 +08:00
@orzglory 佩服写博客的,我也正在搭建网站准备写博客了
MinQ
2022-06-13 11:19:54 +08:00
@1217950746 我们有大量数据图表展示的需求,得用那个 ScottPlot ,高分屏反倒不考虑,最大就 1080p 了
flutter 啥的反而不适合这种场景
1217950746
2022-06-13 11:23:00 +08:00
@MinQ 有些界面避免不了大量控件,大数据量渲染倒是好解决(界面虚拟化、数据虚拟化)结合用就行,和 WPF 差不多
MinQ
2022-06-13 11:27:14 +08:00
@1217950746 是的,这是 WPF 的强项,但不是 web 的强项
1217950746
2022-06-13 11:29:26 +08:00
@MinQ Web 也可以做,道理一样的
Dart
2022-06-13 12:26:20 +08:00
请个人啊
xsen
2022-06-13 12:54:45 +08:00
Qt 对人员要求高,开发效率也是差很多,很多复杂些的控件都要自定义
比较适合的方案如楼上提的 Flutter + Rust (当然,我是选择 Flutter + Go )
reallittoma
2022-06-13 16:59:21 +08:00
我之前用 Xamarin.Forms 做过几个应用,体验一般般,有时候会遇到一些比较棘手的坑。

最近在尝试 MAUI ,只能说……还不太行,基础功能缺胳膊少腿的……
不过看 roadmap ,以及代码上的一些设计,如果以后完善了,用它来写应用应该挺舒服的。
1217950746
2022-06-13 18:52:49 +08:00
@reallittoma MAUI 在手机上的底层是不是就是 Xamarin.Forms ,我也没仔细研究过这个

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

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

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

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

© 2021 V2EX