不考虑项目历史因素,仅从自己最理想的情况下选择技术栈,大家更愿意用哪些?
在需要支持主流平台( iOS 、Android 、macOS 、Windows 、Linux )的情况下,更愿意选择 跨平台 技术,还是使用平台 独立技术栈 开发?
1
vacker 2022-06-12 23:09:19 +08:00 via Android
quasar
|
2
jpacg 2022-06-12 23:09:23 +08:00
flutter?
|
3
foam 2022-06-12 23:10:20 +08:00
一个人开发太累了,还是跨平台好。
桌面 electron 移动端 ReactNative 服务端:node.js / golang |
4
villivateur 2022-06-12 23:14:17 +08:00 via Android
当然是 .Net 啦
|
5
fuis 2022-06-12 23:14:19 +08:00
Electron 或者只有 web
|
6
yuuko 2022-06-12 23:15:29 +08:00
下次我想选 rust ,虽然我不会
|
7
1217950746 OP @foam 桌面端我有考虑过 Tauri 、Wails 之类的,好像也不错
|
8
1217950746 OP @villivateur .Net 我还是很擅长的,类 WPF 的平台 Avalonia UI 跨平台组件我自己做了一套了,但是感觉性能还是差点意思,微软的 MAUI ,以及其他的 Uno 简直不敢考虑用
|
9
1217950746 OP @yuuko Rust 语法不太喜欢,我前段时间折腾 Tauri 的时候,顺便学习过一点
|
10
1217950746 OP @fuis 要说 Js 写桌面平台,还是 Electron 最方便,虽然大,毕竟全都有
|
11
dcsuibian 2022-06-12 23:26:07 +08:00 via Android
得看是干啥应用,离线的还是在线的?
|
12
icyalala 2022-06-12 23:31:10 +08:00
如果说同时支持这五大平台,目前 "流行" 的技术栈就只有 Flutter 了吧(要不然就直接 Web )。
|
13
icyalala 2022-06-12 23:31:35 +08:00
对了,还有 Unity (狗头)
|
14
xieqiqiang00 2022-06-12 23:33:54 +08:00
就按 web 开发,手机用 uniapp ,电脑 electron
|
15
pengtdyd 2022-06-12 23:46:40 +08:00
跨平台个人感觉是伪命题,随着业务的增加,必然设计调优,调优的天花板还是原生
|
16
1217950746 OP @icyalala Unity 那是魔法吧🐶
|
17
1217950746 OP @pengtdyd 共享代码还是很舒服的,各自平台特性优化只包含了部分工作量,当然也会存在妥协
|
18
closedevice 2022-06-13 00:04:38 +08:00
底层 rust ,前端 flutter 吧
|
19
shijingshijing 2022-06-13 00:32:51 +08:00
Qt ?
|
20
jones2000 2022-06-13 00:39:33 +08:00 1
具体看你的应用预算了, 预算充足就一个平台一个开发组单独开发。 没钱就怎么省钱怎么来了,直接 h5 页面搞搞就可以了。
|
21
em70 2022-06-13 00:41:54 +08:00
delphi firemonkey
|
22
roundgis 2022-06-13 02:24:28 +08:00
跨来跨去最后都要写 web
|
23
akaHenry 2022-06-13 02:42:15 +08:00 5
推荐 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 层. 方便后续改造. |
24
Alan1978 2022-06-13 09:10:26 +08:00 via Android
@1217950746 请问性能哪些地方差呢
|
25
NoNewWorld 2022-06-13 09:38:54 +08:00
以前 qt 。现在我用 flutter
|
26
nightwitch 2022-06-13 09:45:43 +08:00
桌面端的跨平台的话 Qt 。
要再跨移动端的话就很麻烦了。。考虑 web 技术吧 |
27
MinQ 2022-06-13 10:41:56 +08:00
需要性能就 Avalonia UI ,不需要就 electron
|
28
1217950746 OP @orzglory Flutter + Rust 都挺有兴趣去学习的
|
29
1217950746 OP |
30
1217950746 OP |
31
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. 😄 |
32
1217950746 OP @orzglory 佩服写博客的,我也正在搭建网站准备写博客了
|
33
MinQ 2022-06-13 11:19:54 +08:00
@1217950746 我们有大量数据图表展示的需求,得用那个 ScottPlot ,高分屏反倒不考虑,最大就 1080p 了
flutter 啥的反而不适合这种场景 |
34
1217950746 OP @MinQ 有些界面避免不了大量控件,大数据量渲染倒是好解决(界面虚拟化、数据虚拟化)结合用就行,和 WPF 差不多
|
35
MinQ 2022-06-13 11:27:14 +08:00
@1217950746 是的,这是 WPF 的强项,但不是 web 的强项
|
36
1217950746 OP @MinQ Web 也可以做,道理一样的
|
37
Dart 2022-06-13 12:26:20 +08:00
请个人啊
|
38
xsen 2022-06-13 12:54:45 +08:00
Qt 对人员要求高,开发效率也是差很多,很多复杂些的控件都要自定义
比较适合的方案如楼上提的 Flutter + Rust (当然,我是选择 Flutter + Go ) |
39
reallittoma 2022-06-13 16:59:21 +08:00
我之前用 Xamarin.Forms 做过几个应用,体验一般般,有时候会遇到一些比较棘手的坑。
最近在尝试 MAUI ,只能说……还不太行,基础功能缺胳膊少腿的…… 不过看 roadmap ,以及代码上的一些设计,如果以后完善了,用它来写应用应该挺舒服的。 |
40
1217950746 OP @reallittoma MAUI 在手机上的底层是不是就是 Xamarin.Forms ,我也没仔细研究过这个
|
41
wingkwanli888 2022-06-13 20:51:29 +08:00
只開發 web 就好了,當然要寫好 mobile/desktop css
分發 android 和 ios 時,直接用 webview 打包 |
42
reallittoma 2022-06-13 21:34:22 +08:00
@1217950746 #40 底层的话,Android 是 Mono Android ,iOS 是 Xamarin.iOS 。MAUI 跟 Xamarin.Forms 属于平级关系,前者实际上是后者的升级版。
|
43
AyaseEri 2022-06-13 22:14:34 +08:00
Desktop 走 Web ,mobile 走小程序
|
44
00244396 2022-06-13 22:55:35 +08:00
compose 据说可以支持桌面以及 web 了 IOS 不清楚
|
45
1217950746 OP @reallittoma 这个想等正式版了去试试,现在好像还是 GA 状态
|
46
1217950746 OP @AyaseEri 小程序不考虑,Web 方案不错的
|
47
1217950746 OP @00244396 据说都支持,但是这些框架对 Web 都不太行,打开就需要加载很大的依赖
|
48
7gugu 2022-06-14 00:38:01 +08:00
实践下来,如果不差钱和时间,还是优先平台原生代码的。跨端还是做不到开箱即用,有很多东西都需要自己用原生代码给跨端代码做支撑。其实花这些时间折腾下来,跟独立开发感觉省不了多少时间。跨端更多的优势是团队协作的时候,可以降低开发门槛。
|
49
1217950746 OP @7gugu 最佳方案肯定是原生代码,我思考过很多,每种方案都有他的优缺点,想省精力,还是跨平台方、做出一些妥协的方案最效率
|
50
7gugu 2022-06-14 21:34:06 +08:00
@1217950746 其实跨端框架最省不了精力,我现在就是在做这方面的东西,所有音视频和渲染相关的东西都要自己造,真的是太麻烦了,有大腿的时候还算凑活着能解决问题,如果是自己单枪匹马的,建议别碰跨端😂。
|
51
checkz 2022-11-07 14:50:32 +08:00
@reallittoma 直接把官方的 sample 下载下来,真机运行 listView/collectionviewdemo 不是卡顿就是无法下拉,样式也未适配,感觉这是用实力在劝退。
https://github.com/dotnet/maui-samples |
52
reallittoma 2022-11-07 16:59:07 +08:00
@checkz #51 是的,无论是稳定性还是跨平台 UI 、API 的统一性,微软官方做得还不如第三方的 Uno 框架。Uno 还是跑在 MAUI 上的……
|
53
1217950746 OP @reallittoma 我最近用 Avalonia 还可以
|