Awesome Yew
项目
- Realworld example - 使用 Rust + Yew + WebAssembly 构建的示例性真实世界应用程序。它利用了 Yew 的最新
函数组件
和钩子
。它还支持由Tauri支持的桌面应用程序。 - webapp.rs - 完全用 Rust 编写的 Web 应用程序,前端使用 Yew 构建。
- Rust-Full-Stack - 可轻松测试且可正常工作的 Rust 代码,并附有博文进行说明。
- Bucket Questions - 为愚蠢的派对游戏完全用 Rust 编写的 Web 应用程序。
- web-view todomvc 桌面应用程序 - 演示如何将 yew 用于 todomvc,该 todomvc 编译为 WebAssembly,并由 web-view 捆绑为一个轻量级(~2mb)桌面应用程序,作为 Electron 的替代品,web-view 还具有 演示。
- yew-react-example - 此项目展示了如何在 Yew 组件中使用 React 组件创建 Web 应用程序。
- Kirk - 只是一个 Rust WebAssembly 博客。
- rust-async-wasm-demo - 学习 Rust 和可部署到 Web 的异步的玩具项目。
- karaoke-rs - 一个简单、支持网络的 Rust 卡拉 OK 播放器。
- 我爱色调!(rs) - 移动游戏我爱色调在 Yew (Rust) 中的克隆。
- yew-styles-page - 这是 yew 框架样式的初始项目。
- caniuse.rs - Rust 特性搜索。
- Rust electron yew 演示 - 使用 electron 将基于 Rust 的 Web 应用程序 (Yew) 构建为原生应用程序的示例。
- covplot - 全球新冠肺炎数据的实时图表。
- Tanoshi - Tachiyomi 类似的 Web 漫画阅读器。tanoshi 的前端。
- 扫雷 - 使用 Rust、Yew 和 WebAssembly 构建的扫雷。
- 空当接龙 - 使用 Rust 和 Yew 编写的纸牌游戏。
- Daydream - 一个用 Rust 编写的 Matrix 小型网络客户端。
- 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 的点投票,Rust 为后端 API 提供支持。
- wasm-2048 - 使用 Rust 和 Yew 实现的 2048 游戏,并编译为 Wasm。
- website-wasm - 我个人网站,通过 Yew/Wasm 用 Rust 编写。
- KeyPress - 一个 Rust WebAssembly 网站示例,用于练习中文英语。
- yew-train-ticket - 一个 Rust WebAssembly Webapp 示例,基于 Yew 最新钩子和函数式 API,代码风格极其类似 React 函数组件。
- yew-d3-example - 使用 Yew 显示 d3 图表。
- Oxfeed - 一个使用 Rust 编写的提要阅读器,带有 Yew 前端。
- Flow.er - 一个笔记本应用程序,集成了待办事项列表实用程序。使用 Rust、WebAssembly、Yew 和 Trunk 开发。
- Fullstack-Rust - 一个全栈 Rust 应用程序(Connect5 游戏),带有 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 的个人博客,实时演示。
- viz.rs - viz Web 框架的网站,实时演示。
- hurlurl - 随机链接缩短器,实时演示。
- Macige - 移动应用程序开发的 CI 工作流生成器,实时演示。
- Spaceman - gRPC 通信协议的跨平台图形化客户端。
模板
- 创建 Yew 应用程序 - 通过运行一个命令
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。
Crates
组件库
- yew-mdc - Yew 框架的 Material Design 组件。
- muicss-yew - Yew 框架的 MUI-CSS 组件。
- yew-bulma - 一个 Rust 库,为使用 Yew 的项目提供基于 bulma css 库的组件。
- material-yew - Material Web 组件的 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 的组件来渲染图表。
组件
- Yew Form - 组件,用于简化使用 Yew 处理表单。
- yew-component-size - 当父组件更改宽度/高度时,发出事件的 Yew 组件。
- yew-virtual-scroller - 用于虚拟滚动/滚动窗口的 Yew 组件。
- yew-autoprops - proc-macro,用于自动从 Yew 组件的参数派生 Properties 结构体。
Hooks
- yew-hooks - Yew 的自定义 Hooks 库,灵感来自 streamich/react-use 和 alibaba/hooks。
- yew-side-effect - 在 Yew 应用程序中协调副作用,灵感来自 react-side-effect 和 react-helmet。
- Bounce - Yew 的简单状态管理库,灵感来自 Redux 和 Recoil。
Utils
- Yewdux - 类似 Redux 的 Yew 应用程序状态容器。
- 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 解释器。
Wasm
- wasm-bindgen - 促进 WebAssembly 模块和 JavaScript 之间的高级交互。
- stdweb - 提供 Rust 与 Web API 的绑定,并允许 Rust 和 JavaScript 之间高度互操作。
Tooling
- wasm-pack - 您最喜欢的 Rust -> WebAssembly 工作流工具。
- wasm-pack-action - Github 操作,通过下载可执行文件来安装
wasm-pack
,以加快 CI/CD。 - wasm-bindgen-action - Github 操作,通过下载可执行文件来安装
wasm-bindgen
,以加快 CI/CD。 - cargo-web - 客户端 Web 的 Cargo 子命令。
- Trunk - 构建、打包和发布 Rust Wasm 应用程序到 Web。
- trunk-action - Github 操作,通过下载可执行文件来安装
Trunk
,以加快 CI/CD。 - wabt - WebAssembly 二进制工具包,用于
wasm-strip
和wasm-objdump
工具,以减小 .wasm 文件大小。 - binaryen - WebAssembly 的编译器基础设施和工具链库,用于
wasm-opt
工具,以减小 .wasm 文件大小。
文章
- 让我们使用 Yew 构建 Rust 前端
- 完全用 Rust 编写的 Web 应用程序
- Yew - Rust 和 WebAsse 前端框架
- 使用 Tauri 和 Yew 创建 Rust 桌面应用程序
- Christopher Hunt 和 Kiki Carter 的 Yew 代码演练视频,展示了一个真实世界的应用程序
书籍
- WebAssembly 书籍 - 使用 Web 并生成 .wasm 文件。
- wasm-bindgen 指南 - 如何绑定 Rust 和 JavaScript API。
- wasm-pack 指南 - 如何构建和使用 Rust 生成的 WebAssembly。
- 使用 Rust 编程 WebAssembly - 包含一章
使用 Yew 进行高级 JavaScript 集成
,介绍如何使用 Yew 创建应用程序。 - Rust 程序员的创意项目 - 第 5 章,
使用 Yew 创建客户端 WebAssembly 应用程序
。
替代方案
Yew 团队喜欢与其他项目分享想法,并相信我们都可以帮助彼此充分发挥这项激动人心的新技术的潜力。
- Draco - 一个使用 WebAssembly 构建客户端 Web 应用程序的 Rust 库。
- Percy - 一个使用 Rust + WebAssembly 构建同构 Web 应用程序的模块化工具包。
- Sauron - Sauron 是一个用于构建 Web 应用程序的 HTML Web 框架。
- Seed - 一个用于创建 Web 应用程序的 Rust 框架。
- Smithy - 一个用于在 Rust 中构建 WebAssembly 应用程序的框架。
- Dioxus - 一个优雅的类 React 库,用于构建桌面、Web、移动、SSR、实时视图等的用户界面。
- Sycamore - 一个用于在 Rust 和 WebAssembly 中创建 Web 应用程序的响应式库。
相关列表
- 出色的 Rust 和 WebAssembly - 一个包含出色的 Rust 和 WebAssembly 项目、库、工具和资源的列表。
- 出色的 WebAssembly - 关于 WebAssembly 生态系统的出色事物的集合。
- 出色的 Rust - 一个精选的 Rust 代码和资源列表。