Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

Ply

Beautiful UIs in Rust. Cross-platform. Dead simple.

Website · Docs · Examples

crates.io License: 0BSD


Ply is an engine for building apps in Rust that run on Linux, macOS, Windows, Android, iOS, and the web. One codebase, every platform. GPU-accelerated rendering, text editing, styling, accessibility, shaders, networking, sound and more, made easy and fast.

cargo install plyx plyx init

What you get

ui.element().width(grow!()).height(grow!()) .background_color(0x262220) .corner_radius(12.0) .layout(|l| l.direction(TopToBottom).padding(24)) .children(|ui| { ui.text("Hello, Ply!", |t| t.font_size(32).color(0xFFFFFF)); });

Everything is an element. Builder pattern, closure-based children, one import. Read the docs →

Highlights

  • Layout engine: Flexbox-like sizing, padding, gaps, alignment, scrolling, floating elements
  • Text input: Cursor, selection, undo/redo, multiline, password mode, keyboard shortcuts
  • Rich text styling: Inline colors, wave, pulse, gradient, typewriter, fade, works in inputs too
  • Shaders: GLSL fragment shaders, built-in effects, SPIR-V build pipeline
  • Accessibility: AccessKit on desktop, JS bridge on web. Screen readers, keyboard nav, focus rings, tab order, live regions
  • Debug view: Chrome DevTools-style inspector. One line: ply.set_debug_mode(true)
  • Networking: HTTP + WebSocket, polling-based, never blocks the UI, works everywhere
  • Images & vectors: PNG, TinyVG vectors, render_to_texture, procedural vectors
  • Rotation: Visual (children included) and shape (vertex-level)
  • Sound: WAV/OGG playback, volume control, looping
  • Interactivity: ui.hovered(), ui.pressed(), ui.focused() inline, callback events, ID-based queries

Platforms

PlatformBuild command
Desktop (Linux, macOS, Windows)cargo build
Web (WASM)plyx web
Androidplyx apk
iOSplyx ios

Feature flags

FeatureWhat it adds
a11yScreen reader support via AccessKit (default)
text-stylingRich text with inline colors, animations, effects
tinyvgTinyVG vector graphics
built-in-shadersPre-made shader effects (foil, glow, CRT, etc.)
shader-buildShader compilation pipeline (SPIR-V Cross)
netHTTP and WebSocket
net-jsonJSON deserialization for network responses
storageCross-platform persistent file storage
audioSound playback (WAV, OGG)

Examples

See the interactive examples on the website:

  • Shader Playground (207 lines): live GLSL editor with code highlighting
  • Snake (295 lines)
  • Todo List (242 lines)

License

Zero-Clause BSD. Use it for anything. No attribution required.

关于 About

Beautiful UIs in Rust. Cross-platform. Dead simple.
enginegamegame-devopen-sourcerustui

语言 Languages

Rust96.4%
JavaScript2.4%
GLSL0.9%
Java0.2%
Shell0.1%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
124
Total Commits
峰值: 29次/周
Less
More

核心贡献者 Contributors