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日

#980GUI

Download history 1052/week @ 2024-03-13 1388/week @ 2024-03-20 1287/week @ 2024-03-27 1326/week @ 2024-04-03 1223/week @ 2024-04-10 1347/week @ 2024-04-17 1358/week @ 2024-04-24 1167/week @ 2024-05-01 1218/week @ 2024-05-08 1194/week @ 2024-05-15 1246/week @ 2024-05-22 1280/week @ 2024-05-29 1044/week @ 2024-06-05 845/week @ 2024-06-12 1121/week @ 2024-06-19 862/week @ 2024-06-26

4,084 每月下载量

MIT/Apache

1.5MB
30K SLoC

egui_web

Latest version Documentation unsafe forbidden MIT Apache

此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