16次重大发布
0.17.0 | 2022年2月22日 |
---|---|
0.16.0 | 2021年12月29日 |
0.15.0 | 2021年10月24日 |
0.13.0 | 2021年6月24日 |
0.4.0 | 2020年11月28日 |
#980 在 GUI
4,084 每月下载量
1.5MB
30K SLoC
egui_web
此crate允许您将使用egui编写的GUI代码编译为WASM,以便在网页上运行。
运行Web演示 尝试它。
查看eframe_template 了解如何设置的示例。
在Web上使用egui的缺点
egui_web
使用WebGL和WASM,几乎不使用Web技术堆栈中的其他技术。这有一些好处,但同时也产生了一些挑战和严重的缺点。
- 渲染:在Web上实现像素级渲染非常困难。
- 搜索:您不能像正常Web页面那样搜索egui网页。
- 在移动设备上弹出屏幕键盘:没有JS函数可以做到这一点,因此
egui_web
通过添加一些不可见的DOM元素来伪造。它并不总是有效。 - 移动文本编辑不如普通Web应用。
- 无障碍性:有一个实验性的屏幕阅读器用于
egui_web
,但必须显式启用。没有JS函数可以询问“用户是否需要屏幕阅读器?”(由于用户跟踪/完整性问题,可能不应该有这样的函数)。 - 没有与浏览器设置的颜色和字体集成。
- 在Linux和Mac上,Firefox会将WebGL渲染目标从GPU复制到CPU,然后再复制回来(https://bugzilla.mozilla.org/show_bug.cgi?id=1010527#c0),这会减慢egui。
在许多方面,egui_web
试图让浏览器做它本来不应该做的事情(尽管浏览器供应商可以做很多事情来改善像egui这样的库的性能)。
egui_web
的推荐用途是Web应用,在这些应用中,性能和响应性比无障碍性和移动文本编辑更重要。
依赖关系
~9–38MB
~577K SLoC