从头开发一个多平台应用,大家会考虑哪种技术栈?
不考虑项目历史因素,仅从自己最理想的情况下选择技术栈,大家更愿意用哪些?
在需要支持主流平台( iOS 、Android 、macOS 、Windows 、Linux )的情况下,更愿意选择 跨平台 技术,还是使用平台 独立技术栈 开发?
quasar
flutter?
一个人开发太累了,还是跨平台好。
桌面 electron
移动端 ReactNative
服务端:node.js / golang
当然是 .Net 啦
Electron 或者只有 web
下次我想选 rust ,虽然我不会
桌面端我有考虑过 Tauri 、Wails 之类的,好像也不错
.Net 我还是很擅长的,类 WPF 的平台 Avalonia UI 跨平台组件我自己做了一套了,但是感觉性能还是差点意思,微软的 MAUI ,以及其他的 Uno 简直不敢考虑用
Rust 语法不太喜欢,我前段时间折腾 Tauri 的时候,顺便学习过一点
要说 Js 写桌面平台,还是 Electron 最方便,虽然大,毕竟全都有
得看是干啥应用,离线的还是在线的?
如果说同时支持这五大平台,目前 "流行" 的技术栈就只有 Flutter 了吧(要不然就直接 Web )。
对了,还有 Unity (狗头)
就按 web 开发,手机用 uniapp ,电脑 electron
跨平台个人感觉是伪命题,随着业务的增加,必然设计调优,调优的天花板还是原生
Unity 那是魔法吧🐶
共享代码还是很舒服的,各自平台特性优化只包含了部分工作量,当然也会存在妥协
底层 rust ,前端 flutter 吧
Qt ?
具体看你的应用预算了, 预算充足就一个平台一个开发组单独开发。 没钱就怎么省钱怎么来了,直接 h5 页面搞搞就可以了。
delphi firemonkey
跨来跨去最后都要写 web
推荐 flutter + rust 方案.
- flutter 只做 UI 层, 跨平台.
rust 做 core lib 层跨平台.
优点:
- flutter UI 开发效率高, 现在已经是 flutter 3.0 版本了. 兼容性做的已经非常好. 放心使用.
- 主要功能层, 尽量下沉到 rust 来实现. (可以分 2 步走, 第一阶段是 flutter 原生, 后续逐步用 rust 替换)
- rust 实现 core lib, 好处是, 以后 UI 层, 不使用 flutter, 也可以改造其他方案( iOS/Android 原生, or 其他方案)
rust 的性能和跨平台能力优秀. (上手门槛略高, 不过是值得的).
PS:
有条件就 flutter + rust, 没条件用 flutter.
不过建议从项目结构设计早期, 就做好拆分.
区分 UI 层 和 core lib 层. 方便后续改造.请问性能哪些地方差呢
以前 qt 。现在我用 flutter
桌面端的跨平台的话 Qt 。
要再跨移动端的话就很麻烦了。。考虑 web 技术吧
需要性能就 Avalonia UI ,不需要就 electron
Flutter + Rust 都挺有兴趣去学习的
QT + C++ 这一套对开发人员要求太高了
界面上对大量控件的场景不太想,我说的也不太对,不是 Avalonia UI 在 macOS 下边性能差,只能说是分辨率越高越差,macOS 都是高分屏,性能就下来了。
目前我桌面端正在使用 Avalonia UI ,比较想换到如 Flutter 、Web 之类的架构
关于 Flutter 和 Rust 学习. 可以看我的博客.
github.com/hhstore/blog/labels/Rust
github.com/hhstore/blog/labels/Flutter
Good luck. 😄
佩服写博客的,我也正在搭建网站准备写博客了
我们有大量数据图表展示的需求,得用那个 ScottPlot ,高分屏反倒不考虑,最大就 1080p 了
flutter 啥的反而不适合这种场景
有些界面避免不了大量控件,大数据量渲染倒是好解决(界面虚拟化、数据虚拟化)结合用就行,和 WPF 差不多
是的,这是 WPF 的强项,但不是 web 的强项
Web 也可以做,道理一样的
请个人啊
Qt 对人员要求高,开发效率也是差很多,很多复杂些的控件都要自定义
比较适合的方案如楼上提的 Flutter + Rust (当然,我是选择 Flutter + Go )
我之前用 Xamarin.Forms 做过几个应用,体验一般般,有时候会遇到一些比较棘手的坑。
最近在尝试 MAUI ,只能说……还不太行,基础功能缺胳膊少腿的……
不过看 roadmap ,以及代码上的一些设计,如果以后完善了,用它来写应用应该挺舒服的。
MAUI 在手机上的底层是不是就是 Xamarin.Forms ,我也没仔细研究过这个
只開發 web 就好了,當然要寫好 mobile/desktop css
分發 android 和 ios 時,直接用 webview 打包
#40 底层的话,Android 是 Mono Android ,iOS 是 Xamarin.iOS 。MAUI 跟 Xamarin.Forms 属于平级关系,前者实际上是后者的升级版。
Desktop 走 Web ,mobile 走小程序
compose 据说可以支持桌面以及 web 了 IOS 不清楚
这个想等正式版了去试试,现在好像还是 GA 状态
小程序不考虑,Web 方案不错的
据说都支持,但是这些框架对 Web 都不太行,打开就需要加载很大的依赖
实践下来,如果不差钱和时间,还是优先平台原生代码的。跨端还是做不到开箱即用,有很多东西都需要自己用原生代码给跨端代码做支撑。其实花这些时间折腾下来,跟独立开发感觉省不了多少时间。跨端更多的优势是团队协作的时候,可以降低开发门槛。
最佳方案肯定是原生代码,我思考过很多,每种方案都有他的优缺点,想省精力,还是跨平台方、做出一些妥协的方案最效率
其实跨端框架最省不了精力,我现在就是在做这方面的东西,所有音视频和渲染相关的东西都要自己造,真的是太麻烦了,有大腿的时候还算凑活着能解决问题,如果是自己单枪匹马的,建议别碰跨端😂。
试看主流编程语言,Java 啰嗦冗长,Go 残缺简陋,C/C++年迈守旧,Python 性能拉垮,JS 生态混乱。而 Rust 、Kotlin 、Swift 等不成气候,不入主…
[ 感谢 Todd 同学投递本文 ] 目前,程序设计语言似乎进入了一个蓬勃发展的时期,Javascript、Perl、Python、Ruby、Groovy等一批较新的语言正越来…
win10 21h1 更新都打上了 昨天在 cloudflare 复制 zoneid 时候才发现的这个 bug ,一开始以为是 cf 的问题,但是根据我随后的测试,把这段字符串…