Yew 精选资源
Yew 相关精选资源列表。
Yew 是一个受 Elm 和 React 启发的现代 Rust 框架,用于使用 WebAssembly 创建多线程前端应用程序。
欢迎贡献!请先阅读贡献指南。
目录
官方资源
- Yew - 用于构建客户端 Web 应用的 Rust / WebAssembly 框架。
- 在线演示 - TodoMVC 演示。
- 示例 - 官方仓库中包含的小型示例。
- API 文档 - docs.rs 上的文档。
- 官网 - 官方网站。
- 聊天室 - 非常活跃,是提问的好地方。
- Reddit - 专门的 Sub Reddit。
- 财务贡献 - 成为财务贡献者,帮助我们维护社区。
- Playground - Yew 在线 playground。
项目
- 真实世界示例 - 使用 Rust + Yew + WebAssembly 构建的示例性真实世界应用。它利用了 Yew 最新的"函数组件"和"钩子"。它还支持由 Tauri 提供支持的桌面应用程序。
- webapp.rs - 完全用 Rust 编写的 Web 应用程序,前端使用 Yew 构建。
- Rust-Full-Stack - 易于测试和运行的 Rust 代码,附带博客文章解释。
- Bucket Questions - 为一个愚蠢的派对游戏完全用 Rust 编写的 Web 应用程序。
- web-view todomvc 桌面应用 - 演示如何使用 yew 构建一个编译为 WebAssembly 的 todomvc,并通过 web-view 打包成轻量级(约 2MB)桌面应用,作为 Electron 的替代方案。web-view 还有一个演示。
- yew-react-example - 该项目展示了如何在 Yew 组件中创建使用 React 组件的 Web 应用。
- Kirk - 只是一个 Rust WebAssembly 博客。
- rust-async-wasm-demo - 用于学习 Rust 和异步的玩具项目,可部署到网络。
- karaoke-rs - 用 Rust 编写的简单网络卡拉 OK 播放器。
- I Love Hue! (rs) - 使用 Yew (Rust) 克隆的手机游戏 I Love Hue。
- yew-styles-page - 这是 yew 的一个初始样式框架项目。
- caniuse.rs - Rust 特性搜索。
- Rust electron yew 演示 - 使用 electron 将基于 Rust 的 Web 应用(Yew)构建成原生应用的示例。
- covplot - 全球 CoVID-19 数据的实时图表。
- 扫雷 - 使用 Rust、Yew 和 WebAssembly 构建的扫雷游戏。
- 纸牌接龙 - 用 Rust 和 Yew 编写的耐心游戏。
- Yew-WebRTC-Chat - 使用 Yew 制作的简单 WebRTC 聊天。
- Yew 全栈样板 - 用于创建全栈应用程序的高度自主的样板,使用 Rust。
- 和弦测验 - 在这个 Rust/Yew/WebAssembly 应用中练习识别和弦。
- RustMart - 使用 Rust、Wasm 和 Yew 编写的单页应用(SPA)。
- DevAndDev - 开发者可以找到结对编程伙伴的网站。使用 Rust 编写,Yew 前端。
- yew-octicons - 在 Yew 项目中使用 Octicons 的简易接口。
- Pipe - 这是一个 Rust / Wasm 客户端 Web 应用,是一个任务控制中心。
- note-to-yew - 在线将您的标记转换为 Yew 宏,该工具也是由 Yew 制作的。
- ASCII-Hangman - 为儿童设计的可配置 Hangman 游戏,带有 ASCII 艺术奖励。
- dotdotyew - 使用 Yew 实现的点投票,后端 API 由 Rust 提供支持。
- wasm-2048 - 使用 Rust 和 Yew 实现并编译为 Wasm 的 2048 游戏。
- website-wasm - 我的个人网站,使用 Rust 通过 Yew/Wasm 编写。
- KeyPress - 一个 Rust WebAssembly 网站示例,用于中国人练习英语。
- yew-train-ticket - 一个基于 Yew 最新钩子和函数式 API 的 Rust WebAssembly Web 应用示例,代码风格极其类似于 React 函数组件。
- yew-d3-example - 使用 Yew 展示 d3 图表。
- Oxfeed - 用 Rust 编写的 Feed 阅读器,使用 Yew 前端。
- Flow.er - 集成待办事项列表工具的笔记应用。使用 Rust、WebAssembly、Yew 和 Trunk 开发。
- Fullstack-Rust - 一个全栈 Rust 应用程序(五子棋游戏),使用 Actix-web、Yew、Bulma CSS 和 Diesel。
- Sea_battle - 一个简单的海战游戏示例。Rust + Yew。
- tide-async-graphql-mongodb - GraphQL 服务的简洁样板,带有 wasm/yew 前端。
- surfer - 基于 yew + graphql 构建的博客,有在线演示站点。后端用于 graphql 服务,前端用于 Web 应用程序。
- qubit - 一个方便的计算器,基于 Rust 和 WebAssembly,在线演示。
- Paudle - Josh Wardle 优秀单词游戏 Wordle 的重新实现。
- Rust 算法 - 一个展示各种算法交互式实现的网站。
- Marc Portfolio - 一个软件开发人员作品集,在线演示。
- zzhack - 一个个人博客,基于 Rust 和 Yew,在线演示。
- Rquote - Rquote 是一个使用 Rust 和 WebAssembly 构建的 Web 应用程序。它从 Animechan API 获取动漫名言。在线演示。
- yew-ssr-tide - 该示例演示了使用 tide 和 surf 的 Yew 服务器端渲染,它需要 Yew 的开发版本。
- yew-ssr-actix-web - 该示例演示了使用 actix-web 和 reqwest 的 Yew 服务器端渲染,它需要 Yew 的开发版本。
- PixelGuesser - PixelGuesser 是一个真实生活中的派对游戏,玩家尝试尽快猜出图像的内容。
- Crabtyper - 用 Rust 编写的速度打字 Web 应用。
- We-Come Monorepo - 这是 KM ITB 的 wecome 单体仓库,在线演示。
- blog-rs - 一个博客系统,其前端和后端均用 Rust 编写。后端由 Warp 提供支持,前端基于 Yew (WASM) 构建。
- mb2 - 一个带有 Yew 客户端的扑克服务器。点击"Demo"按钮,然后点击"Start"以查看客户端。
- Puzzle Cube - 使用 Rust 和 Yew 的魔方求解器,在线演示。
- CubeShuffle - 使用 Rust、Yew、Bulma 和 Tauri 构建的纸牌游戏洗牌工具。
- Rust Audio - 使用 Rust/WASM 在浏览器中进行实时音频处理/合成,在线演示。
- Kiomet - 一个在线即时策略游戏,你通过占领塔来扩展你的领土。
- 作品集网站 - Spencer Imbleau 制作的具有内置可访问性的作品集单页应用。
- tchatche.rs - 使用 Yew 和 Axum 构建的基于 WebSocket 的聊天应用程序。
- viz.rs - viz Web 框架的网站,在线演示。
- theiskaa.com - Yew 框架的真实世界实现。在 theiskaa.com 上在线。
- live-ask.com - 实时事件/聚会问答平台。在线演示:live-ask.com。
- Sumi - 使用Yew和Actix构建的多用户问题跟踪和知识库应用。
- hurlurl - 一个随机化链接缩短器,在线演示。
- Macige - 移动应用开发的CI工作流生成器,在线演示。
- Spaceman - Spaceman是一个跨平台的gRPC客户端,旨在提供pleasant使用体验和漂亮的外观。
- Crypto-helper - 一个可以在客户端进行哈希、加密和签名数据的Web应用。还包括JWT调试器。网站。
- zoom-rs - 用Rust编写的Zoom克隆,用于研究目的。
- Ubiquity - 一个开源、跨平台的markdown编辑器;使用Yew、Tauri、Tailwind和DaisyUI构建。Web应用。
- demo_web_zip_wasm - 一个在浏览器中使用WebAssembly运行的简单ZIP压缩程序示例,在线演示。
- RustedLessPass - 一个无状态密码管理器。Web应用。
- windows-terminal-theme-generator - 简化创建Windows终端主题的过程。在线演示
- SandCat - 该软件主要实现了IM应用的基本功能,包括基础好友系统、一对一聊天、群聊和一对一音视频通话。它还支持国际化,目前提供中英文切换。
- PinePods - PinePods是一个基于Rust的播客管理系统,支持多用户,依赖中央数据库,客户端可以连接到它。
- 0721 - 用Rust编写的图片托管引擎。
- Hikari - 万物的前端。
- simply-view-image-for-python-debugging - Visual Studio Code扩展,在调试Python时简单查看图像变量的图像。
- Mindsweeper - 原则性的扫雷游戏,在线演示。
- scap-rs - 用Rust实现的国家漏洞数据库(NVD),在线演示。
- Sentry Relay - Sentry Relay是一项服务,将Sentry SDK和Sentry服务器的部分功能推送到代理进程中。
- Syre - 科学数据管理和洞察。
- candle-wasm-examples - Candle是一个专注于性能(包括GPU支持)和易用性的Rust极简机器学习框架。试试我们的在线演示:whisper、LLaMA2、T5、yolo、Segment Anything。
- chipbox - chipbox是一个用Rust编写的开源桌面数字音频工作站(DAW)。
- Taxy - 一个具有内置WebUI的反向代理服务器,支持TCP/HTTP/TLS/WebSocket,用Rust编写。
- Proxelar - 基于Rust的中间人代理,一个旨在提供网络流量可视性的早期项目。
- diff.rs - 用于显示Rust crate版本之间差异的Web应用。使用Yew实现,完全在浏览器中作为WebAssembly运行,在线演示。
模板
- Create Yew App - 通过运行一个命令
npx create-yew-app my-app
来设置一个现代化的 Yew Web 应用。 - yew-wasm-pack-template - 一个用于启动 Yew 项目的模板,可与 wasm-pack 一起使用。
- yew-wasm-pack-minimal - 一个使用 wasm-bindgen 和 wasm-pack 启动 Yew 项目的最小模板。
- yew-parcel-template - 使用 Yew-Router 和 Parcel 的优秀 Yew 应用模板。
- yew-template-for-github-io - 可直接部署到 github.io 的 Yew 项目模板,使用 tailwind 和 webpack 处理 CSS,trunk 用于构建和服务。
- tailwindcss-yew-template - 在 Yew 中使用 Tailwindcss 的简单布局。
- axum-yew-setup - 为全栈 Rust Web 应用设置 Axum 和 Yew 的启动项目。
- rust-yew-axum-tauri-desktop - Rust + Yew + Axum + Tauri,用于桌面应用的全栈 Rust 开发。
- Yew PWA Minimal - 使用 Yew 的最小化渐进式 Web 应用。
- Yew HTTP Starter - 带有简单 HTTP 消息和有用帮助注释的 Yew 模板。
- Yew minimlistic template - 用于快速启动 Yew 项目的最小化模板。
包
组件库
- yew-mdc - Yew 框架的 Material Design 组件。
- muicss-yew - Yew 框架的 MUI-CSS 组件。
- yew-bulma - 为使用 Yew 的项目提供基于 Bulma CSS 库的组件的 Rust 库。
- material-yew - Material Web Components 的 Yew 包装器。
- Yewprint - blueprintjs.com 到 Yew 的移植。
- ybc - 基于 Bulma CSS 框架的 Yew 组件库。
- patternfly-yew - Yew 的 Patternfly 组件。
- yew-feather - Yew 的 Feather Icons 组件。
- tailwind-yew-builder - 使用 docker-compose 为 Yew 构建 Tailwind CSS。也支持 Trunk。
- yew-components - Yew 框架的 Material Design 组件。
- yew-chart - 基于 Yew 的图表库,提供用于渲染图表的 SVG 组件。
- tailyew - DaisyUI(基于 tailwindcss)组件的 Yew 包装器。
- yew-duskmoon-ui - Duskmoon UI 组件库。该包使用
stylist
在组件中嵌入 CSS,因此不需要额外的 CSS 文件。在线演示。 - yew-bootstrap - Bootstrap 5 组件库的 Yew 包装器。
- Zu - 实现 Material Design 的 Yew Web 组件。
- yew-nav-link - 一个导航链接,根据应用程序中的当前路由感知其活动状态。
组件
- Yew Form - 简化在 Yew 中处理表单的组件。
- yew-component-size - 当父组件宽度/高度变化时发出事件的 Yew 组件。
- yew-virtual-scroller - 用于虚拟滚动/滚动窗口的 Yew 组件。
- yew-oauth2 - 一个简单的 Yew OAuth2/OpenIDConnect 组件,不绑定任何 CSS 框架。
- yew-scroll-area - Yew 的自定义滚动区域。
钩子
- yew-hooks - Yew 的自定义钩子库,灵感来自 streamich/react-use 和 alibaba/hooks。
- yew-side-effect - 在 Yew 应用中协调副作用,灵感来自 react-side-effect 和 react-helmet。
- Bounce - Yew 的简单状态管理库,灵感来自 Redux 和 Recoil。
- yewv - 为 Yew 构建的快速状态管理模块,以性能和简单性为首要考虑。
JavaScript 库移植
- Plotly.rs - 流行的 Plotly 图表库的 Rust 绑定。
- ag-grid-rs - AG Grid 数据表库的 Rust 绑定。
- popper-rs - Popper JS 的 Rust 绑定。
工具
- Yewdux - Yew 应用的类 Redux 状态容器。
- reacty_yew - 通过 Typescript 类型定义从 React 组件生成 Yew 组件。
- styled-yew - Rust 中的 CSS,类似于 styled-components,但适用于 Yew。
- stylist-rs - WebAssembly 应用的 CSS-in-Rust 样式解决方案。
- Yew Interop - 在 Yew 中异步加载 JavaScript 和 CSS。
- Tailwind RS - Rust 中的 Tailwind 样式追踪器,JIT + AOT 解释器。
- yew-style-in-rs - Yew 的 Rust 中的作用域 CSS。
- yew_icons - 轻松在 Yew 应用中包含各种 svg 图标(Feather/Font Awesome/Octicons)。
- Yew-Template - 用于在使用 Yew 时分离 HTML 和 Rust 代码的包。
- yew-nested-router - 支持嵌套的路由器,适用于 Yew 0.20。
- turf - 基于宏的编译时 SCSS 转译、CSS 压缩和类名唯一化工具链,灵感来自 CSS 模块。
- browser-panic-hook - 浏览器环境的 panic 处理程序,允许以对终端用户友好的方式失败。
Wasm
- wasm-bindgen - 促进 WebAssembly 模块和 JavaScript 之间的高级交互。
- stdweb - 提供 Rust 对 Web API 的绑定,并允许 Rust 和 JavaScript 之间高度互操作。
- tauri-sys - 使用 wasm-bindgen 的项目的 Tauri API 原始绑定。
框架
- stackable - Yew 的框架体验。
工具
- wasm-pack - 你最喜欢的 Rust -> WebAssembly 工作流工具。
- wasm-pack-action - 通过下载可执行文件安装
wasm-pack
的 Github action,以加速 CI/CD。 - wasm-bindgen-action - 通过下载可执行文件安装
wasm-bindgen
的 Github action,以加速 CI/CD。 - cargo-web - 用于客户端 Web 的 Cargo 子命令。
- Trunk - 构建、打包并部署你的 Rust Wasm 应用到 Web。
- trunk-action - 通过下载可执行文件安装
Trunk
的 Github action,以加速 CI/CD。 - wabt - WebAssembly 二进制工具包,用于
wasm-strip
和wasm-objdump
工具以减小 .wasm 文件大小。 - binaryen - WebAssembly 的编译器基础设施和工具链库,用于
wasm-opt
工具以减小 .wasm 文件大小。 - Tauri - Tauri 是一个用于构建小型、快速的二进制文件的框架,适用于所有主要桌面平台。开发者可以集成任何编译为 HTML、JS 和 CSS 的前端框架来构建用户界面。应用程序的后端是一个基于 Rust 的二进制文件,提供前端可以交互的 API。
- yew-fmt -
rustfmt
的可配置扩展,用于格式化 Yew HTML。
文章
- 让我们用 Yew 构建一个 Rust 前端
- 如何使用 Rust Yew
- 如何在 Rust 中使用模态框
- 如何在 Rust 前端使用路由
- 如何模块化你的 Rust 前端
- 如何在 Rust 前端使用 NPM 包
- 如何在 Rust 前端使用 markdown
- 使用 Yew 的全栈 Rust
- 如何编写全栈 Rust 代码
- 如何使用 Rust Yew fetch API 渲染 YouTube vlog
- 如何使用 Rust Yew mounted API 渲染博客文章
- 完全用 Rust 编写的 Web 应用
- Yew - Rust & WebAssembly 前端框架
- 使用 Tauri 和 Yew 用 Rust 创建桌面应用
- Christopher Hunt 和 Kiki Carter 讲解 Yew 真实应用的代码演示视频
课程
- full-stack-todo-rust-course - 全栈 Rust 课程,包括 Yew 课程。
书籍
- WebAssembly 书 - 与 Web 交互并生成 .wasm 文件。
- wasm-bindgen 指南 - 如何绑定 Rust 和 JavaScript API。
- wasm-pack 指南 - 如何构建和使用 Rust 生成的 WebAssembly。
- 用 Rust 编程 WebAssembly - 包含一章
使用 Yew 进行高级 JavaScript 集成
讲解如何创建 Yew 应用。 - Rust 程序员的创意项目 - 第 5 章,
使用 Yew 创建客户端 WebAssembly 应用
。
替代方案
Yew 团队喜欢与其他项目分享想法,相信我们可以互相帮助,充分发挥这项令人兴奋的新技术的潜力。
- Draco - 用于构建客户端 Web 应用的 Rust 库,使用 WebAssembly。
- Percy - 用于构建同构 Web 应用的模块化工具包,使用 Rust + WebAssembly。
- Sauron - Sauron 是用于构建 Web 应用的 HTML Web 框架。
- Seed - 用于创建 Web 应用的 Rust 框架。
- Smithy - 用于构建 WebAssembly 应用的 Rust 框架。
- Dioxus - 优雅的类 React 库,用于构建桌面、Web、移动、SSR、实时视图等用户界面。
- Sycamore - 用于创建 Web 应用的响应式 Rust 和 WebAssembly 库。
- Leptos - 用 Rust 构建快速 Web 应用。
相关列表
- Awesome Rust and WebAssembly - 优秀的 Rust 和 WebAssembly 项目、库、工具和资源列表。
- Awesome WebAssembly - WebAssembly 生态系统相关优秀内容集合。
- Awesome Rust - 精选的 Rust 代码和资源列表。