![]() |
1
duanxianze 3 天前 ![]() 啊?魔怔了啊,现有的任何语言做 ui 都不会比 html css 更快
|
2
chenxiaolani 3 天前
有意义嘛,
|
3
nkidgm 3 天前 ![]() 没意义,除非想统一技术栈,一门语言走天下。
|
4
githmb 3 天前 ![]() 不会快,一般都是宏来生成 html ,但是现在 IDE 对宏的支持太差了,没有智能提示
|
![]() |
6
xFrye 3 天前 ![]() 不会,不要为了 rust 而 rust
|
![]() |
7
skyworker 3 天前 ![]() 手里只有一把锤子, 然后感觉所有的问题都是钉子
|
![]() |
8
musi 3 天前
rust 在浏览器上不是一等公民,所以你的 rust 代码最终会被转义成 HTML + CSS + JavaScript
|
9
zhhcnn 3 天前
瓶颈在 dom 而不是操作 dom 的语言,js 真不算慢了
|
10
QlanQ 3 天前
平时觉得慢的地方,主要是 浏览器渲染 dom 慢吧
|
11
jspatrick 3 天前
你指的是开发快还是运行快?开发快还能快过 html css ?运行快似乎也不在乎这点。。。
|
![]() |
12
cwliang 3 天前 ![]() 这是正经前端问的问题?
|
13
kzfile 3 天前
我还以为是 gui,原来指的是 web 前端吗
|
![]() |
14
janus77 3 天前
速度瓶颈不在 UI 库,在渲染层,甚至硬件层
|
15
shui14 3 天前
如果做 imgui ,值得。否则不比 html 有优势,除非你有特殊需求,另外 webgl/webgpu+svg 或者 webcompontent 也可以做 html 版的 imgui ,把那个 pdfjs 的 layout 移植过来就行,甚至在 react 还在 createclass 时代就有人这么干过,把 ios 的布局移植的,相当于实现了在 webgl2 上的 flex 。再早之前,有个 react-canvas ,你搜一下思路一样的。前几年流行的长 table ,某个库 canvas table 可以说就从这里来的。无非现在准备 rust 替代,这个成本就看值不值,技术上肯定是可行的,十年前创业浪潮就有过很多五花八门的,而且不少公司现在就在这么干
|
16
mizuki9 3 天前 ![]() 用 rust 原生,要考虑跨平台兼容性,要考虑前端非常多的功能特性能支持多少,做到同样的特性需要的代码量是不是值得
|
![]() |
17
wangtian2020 3 天前
没有意义的快,leetcode 我能花 10 分钟写倒数 10%内存占用/倒数 10%CPU 使用 的答案,我就不会花 1 小时去写 前 10% 的答案
|
18
hwdq0012 3 天前
gui 这块,win32 , android ndk, mac/ios object c , 哪个不是 c++,非要搞 rust
|
19
frank42a 3 天前 ![]() 作死
|
![]() |
20
Track13 3 天前
啊?是我没看懂吗?不管你拿什么写,最后跑的不还是 html ,css ,js ?怎么个快法?
|
![]() |
21
ZZITE 3 天前
|
22
webszy 3 天前
你拿 rust 写一个游览器内核,然后只能渲染 rust 代码不就行了
|
![]() |
23
chiaf 3 天前 via iPhone
rust 写一个超过 V8 的引擎。有搞头。
或者 rust 重写 V8 😁 |
24
chesha1 3 天前
rust 也没法直接写 UI 啊,要硬写需要需要编译成 web components 之类的东西,性能会更差
你看现在主流的 UI 库,对应多个框架,都是有多个版本的,就是为了借用框架本身的运行时提高性能,你直接不管这个了,肯定是不行的 |
![]() |
25
flyqie 3 天前 via Android
要想快的话建议 rust 重写 v8 ,不然用 rust 没有什么意义,也不会快
|
![]() |
26
yigefanqie 3 天前
建议用 rust 去写一个浏览器内核,就快了。
|
![]() |
27
irisdev 3 天前
这个问题跟之前在 v 站上看到的问题。“为什么前端不用 rpc 调用后端”有异曲同工之妙
|
![]() |
28
Goooooos 3 天前
你说的是不是 tauri
|
![]() |
29
jujusama 3 天前
但凡有能用的 rust UI ,大概 zed 也不用从 0 写一个把
|
![]() |
30
iorilu 3 天前
你说的前端是指 web 端还是说图形界面 gui 那种
|
![]() |
31
lizy0329 OP 我想看看,现在的车机 UI, 如果追求稳定性与速度, 是不是使用 rust 来制作 UI 比较靠谱点
|
![]() |
33
daniel11 3 天前 ![]() 可以看看 zed 开源的 GPUI ,长桥开源了一个 GPUI 的组件库 https://github.com/longbridge/gpui-component?tab=readme-ov-file , 看他们基于这个组件库做的 股票交易 客户端还行
|
![]() |
34
liuidetmks 3 天前
你肯定是鸡丁
|
![]() |
35
iliaoliao 2 天前 ![]() 可以看看 dioxus 快要发布的 0.7 版本,和写 react 差不多,开发 native 的时候支持热重载。很强。
|
![]() |
36
labdum 2 天前
webkit 和 blink 都是 c++写的吧。rust 也不会更快,顶多安全点。
如果是机车 UI 也可以用 swift 吧,swift 现在也有在做嵌入式的开发。 |
![]() |
37
sjhhjx0122 2 天前
@iorilu #32 车机不是还有很多直接 unity 和 godot 的吗
|
38
charlie21 2 天前
https://github.com/iced-rs/iced
cross-platform GUI library for Rust focused on simplicity and type-safety |
![]() |
39
Chuckle 1 天前
期待 rustscript
|
![]() |
40
dssxzuxc 1 天前
@Chuckle #39 我想象中的 rustscript 差不多长这样
let a: Owned<string> = "hello" let b = a console.log(a) // 编译失败 let c: Shared<string> = "world" let d = c console.log(c) // 编译成功 const e = (s: &string) => {} const f = (s: &mut string) => {} // 异步生命周期 async function g<'async>(data: &'async data) {} // 安全访问 dom 元素 document.getElementById("h")?.with_mut(|el| el.textContent = "hello world") |
41
hez2010 1 天前 ![]() 简单的 hello world 可以,但是但凡正经一点的 UI 用 rust 就是自找不痛快,包括游戏、GUI 都是同理。
UI 的特性天生就是共享状态需要允许多方同时持有非只读引用,然而 Rust 不会允许你这么做,于是最后你不得不把整个 ECS 那套搬进 GUI 开发里,最后带来的反而是生产力下降。 |
![]() |
42
lizy0329 OP @hez2010 我找到了这篇文章 [Entity-Component-System architecture for UI in Rust]( https://raphlinus.github.io/personal/2018/05/08/ecs-ui.html)
|