Awesome Yew 

A curated list of awesome things related to Yew.
Yew is a modern Rust
framework inspired by Elm and React for creating multi-threaded frontend
apps with WebAssembly.
Contributions welcome! Read the contribution guidelines first.
Contents
Official
- Yew - Rust /
WebAssembly framework for building client web apps.
- Live demo - A todomvc
demo.
- Examples
- Smaller examples included in official repo.
- API Docs - Docs on docs.rs.
- Website - Official website.
- Chatroom - It is pretty
active and is a great place to ask questions.
- Reddit - Dedicated
Sub Reddit.
- Financial Contribute -
Become a financial contributor and help us sustain our community.
- Playground - Online playground for
Yew.
Projects
- Realworld
example - Exemplary real world app built with Rust + Yew +
WebAssembly. It utilizes Yew’s latest
function components
and hooks. It also supports desktop application powered by
Tauri.
- webapp.rs -
A web application completely written in Rust, frontend is built with
Yew.
- Rust-Full-Stack
- Easily testable and working Rust codes with blog posts to explain
them.
- Bucket
Questions - A webapp written entirely in Rust for a dumb party
game.
- web-view
todomvc desktop app - Demo how to use yew for a todomvc that
compiles to WebAssembly and is bundled as a lightweight(~2mb) desktop
app by web-view, as an
alternative to Electron, web-view also has a demo.
- yew-react-example
- This project shows how to create a web app using a React component
inside a Yew component.
- Kirk - Just A Rust
WebAssembly Blog.
- rust-async-wasm-demo
- Toy project to learn Rust and async that can be deployed to the
web.
- karaoke-rs - A
simple, network enabled karaoke player in Rust.
- I Love Hue!
(rs) - A clone of the mobile game I Love Hue in Yew (Rust).
- yew-styles-page -
This is an initial project of a framework style for yew.
- caniuse.rs -
Rust feature search.
- Rust
electron yew demo - An example of building a Rust based web app
(Yew) into a native app using electron.
- covplot - Live
graphs of worldwide CoVID-19 data.
- Minesweeper -
Minesweeper built with Rust, Yew and WebAssembly.
- Freecell - A
patience game written in Rust and Yew.
- Yew-WebRTC-Chat
- A simple WebRTC chat made with Yew.
- Yew
Fullstack Boilerplate - Highly opinionated boilerplate for creating
full stack applications with Rust.
- Chord Quiz -
Practice recognizing chords in this Rust/Yew/WebAssembly app.
- RustMart -
Single Page Application (SPA) written using Rust, Wasm and Yew.
- DevAndDev - A website
where developers can find pair-programming partners. Written in Rust,
Yew frontend.
- yew-octicons - An
easy interface for using Octicons in Yew projects.
- Pipe - This is a Rust
/ Wasm client web app which is a task control center.
- note-to-yew -
Convert your markups into Yew macro online, which is also made by
Yew.
- ASCII-Hangman
- Configurable Hangman game for children with ASCII-art rewarding.
- dotdotyew -
Dot-voting using
Yew, with Rust powering the backend API.
- wasm-2048 -
2048 game implemented with Rust and Yew and compiled to Wasm.
- website-wasm -
My personal website written in Rust via Yew/Wasm.
- KeyPress - A Rust
WebAssembly Website example for practising english for chinese.
- yew-train-ticket
- A Rust WebAssembly Webapp
example basing Yew newest hooks and functional API, the code style is
extremely like React Function Component.
- yew-d3-example
- Showing a d3 chart with Yew.
- Oxfeed - A feed
reader written in Rust with a Yew frontend.
- Flow.er - A
notebook app integrated with todo lists utility. Developed with Rust,
WebAssembly, Yew and Trunk.
- Fullstack-Rust - A
Full Stack Rust application (Connect5 game) with Actix-web, Yew, Bulma
CSS and Diesel.
- Sea_battle - A
simple example of a sea battle game. Rust + Yew.
- tide-async-graphql-mongodb
- Clean boilerplate for graphql services, with wasm/yew frontend.
- surfer - A blog built on
yew + graphql, with live demo site.
Backend for graphql services, and frontend for web application.
- qubit - A handy
calculator, based on Rust and WebAssembly, Live Demo.
- Paudle - A
reimplementation of the excellent word game Wordle by Josh Wardle.
- Rust
algorithms - A website with interactive implementations of various
algorithms.
- Marc
Portfolio - A software developer portfolio, Live Demo.
- zzhack - A
personal blog, based on Rust & Yew, Live Demo.
- Rquote - Rquote
is a web application built using Rust and WebAssembly. It fetches Anime
quotes from the Animechan API. Live
Demo.
- yew-ssr-tide - The
example demonstrates Yew server-side rendering with tide & surf, it
needs the development version of Yew.
- yew-ssr-actix-web -
The example demonstrates Yew server-side rendering with actix-web &
reqwest, it needs the development version of Yew.
- PixelGuesser -
PixelGuesser is a real life party gam where players try to guess the
contents of an image as quickly as possible.
- Crabtyper
- A speedtyping web app written in Rust.
- We-Come
Monorepo - This is a monorepo for wecome KM ITB, Live Demo.
- blog-rs - A blog
system in which frontend and backend are ALL written in Rust. Backend
powered by Warp and frontend built on Yew (WASM).
- mb2 - A poker server with a Yew
client. Click the
Demo button and then Start
to see the client.
- Puzzle
Cube - Rubix Cube solver using Rust and Yew, Live Demo.
- CubeShuffle
- Card game shuffling utility built with Rust, Yew, Bulma and
Tauri.
- Rust Audio -
Realtime audio processing / synthesis using Rust/WASM in the browser, Live Demo.
- Kiomet - An online real-time
strategy game in which you expand your territory by capturing
towers.
- Portfolio website
- A portfolio SPA with accessibility built-in by Spencer Imbleau.
- tchatche.rs - A
Websocket chat based application built in Yew and Axum.
- viz.rs - A
website for viz web framework, Live
Demo.
- theiskaa.com
- A real world implementation of Yew framework. Live at theiskaa.com.
- live-ask.com -
Realtime Event/Meetup Q&A Platform. Live at live-ask.com.
- Sumi - Multi-user issue
tracking and knowledge base app built with Yew & Actix.
- hurlurl - A
randomizing link shortener, Live
Demo.
- Macige - CI
workflow generator for mobile app development, Live Demo.
- Spaceman -
Spaceman is a cross-platform gRPC client designed to be pleasant to use
and pretty to look at.
- Crypto-helper
- Web app that can hash, encrypt, and sign the data on the client side.
Also includes a JWT debugger. Website.
- zoom-rs -
Zoom clone written in rust for research purposes.
- Ubiquity
- An open-source, cross-platform markdown editor; built with Yew, Tauri,
Tailwind, and DaisyUI. Web App.
Templates
Crates
Component Libraries
- yew-mdc -
Material Design Components for the Yew framework.
- muicss-yew -
MUI-CSS Components for Yew framework.
- yew-bulma -
A Rust library providing components based on the bulma css library for
projects using Yew.
- material-yew
- Yew wrapper for Material Web Components.
- Yewprint - Port
of blueprintjs.com to Yew.
- ybc - A Yew component
library based on the Bulma CSS framework.
- patternfly-yew
- Patternfly components for Yew.
- yew-feather -
Feather Icons components for Yew.
- tailwind-yew-builder
- Builds Tailwind CSS for Yew using docker-compose. Also supports
Trunk.
- yew-components
- Material Design Components for the Yew framework.
- yew-chart - A
Yew-based charting library that provides SVG based components for
rendering charts.
- tailyew - Yew
wrapper around DaisyUI (tailwindcss based) components.
- yew-duskmoon-ui
- Duskmoon UI Component Library. This package use
stylist
to embbed css in components, so no extra CSS file is needed. Live Demo.
- yew-bootstrap - A
Yew wrapper for the Bootstrap 5 component library.
- Zu - Yew web components,
implementing Material Design.
- yew-nav-link - A
navigational link that is aware of its active state based on the current
route in the application.
Components
- Yew Form -
Components to simplify handling forms with Yew.
- yew-component-size
- A Yew component that emits events when the parent component changes
width/height.
- yew-virtual-scroller
- A Yew component for virtual scrolling / scroll windowing.
- yew-oauth2 - A
plain Yew OAuth2/OpenIDConnect component, not tied to any CSS
framework.
- yew-scroll-area
- Custom scroll area for Yew.
Hooks
Javascript Library Ports
Utils
- Yewdux -
Redux-like state containers for Yew apps.
- reacty_yew -
Generate Yew components from React components via Typescript type
definitions.
- styled-yew -
CSS in Rust, similar to styled-components, but for Yew.
- stylist-rs - A
CSS-in-Rust styling solution for WebAssembly Applications.
- Yew
Interop - Load JavaScript and CSS asynchronously in Yew.
- Tailwind RS -
Tailwind style tracer in rust, JIT + AOT interpreter.
- yew-style-in-rs
- Scoped CSS in Rust for Yew.
- yew_icons -
Easily include a variety of svg icons(Feather/Font Awesome/Octicons)
into your Yew app.
- Yew-Template
- A crate for separating HTML and Rust code when using Yew.
- yew-nested-router
- A router that supported nesting, with Yew 0.20.
- turf - Macro based
compile-time SCSS transpilation, CSS minification, and class name
uniquification toolchain inspired by CSS modules.
- browser-panic-hook
- A panic handler for browser environments, allowing to fail in an
end-user friendly way.
Wasm
- wasm-bindgen
- Facilitating high-level interactions between WebAssembly modules and
JavaScript.
- stdweb - Provides Rust
bindings to the Web APIs and to allow a high degree of interoperability
between Rust and JavaScript.
- tauri-sys - Raw
bindings to the Tauri API for projects using wasm-bindgen.
Frameworks
- wasm-pack - Your
favorite Rust -> WebAssembly workflow tool.
- wasm-pack-action -
Github action to install
wasm-pack by downloading the
executable to speed up CI/CD.
- wasm-bindgen-action
- Github action to install
wasm-bindgen by downloading the
executable to speed up CI/CD.
- cargo-web - A Cargo
subcommand for the client-side Web.
- Trunk - Build, bundle
& ship your Rust Wasm application to the web.
- trunk-action -
Github action to install
Trunk by downloading the
executable to speed up CI/CD.
- wabt - The
WebAssembly Binary Toolkit, for the
wasm-strip and
wasm-objdump tools to reduce .wasm file size.
- binaryen -
Compiler infrastructure and toolchain library for WebAssembly, for the
wasm-opt tool to reduce .wasm file size.
- Tauri - Tauri is a
framework for building tiny, blazingly fast binaries for all major
desktop platforms. Developers can integrate any front-end framework that
compiles to HTML, JS and CSS for building their user interface. The
backend of the application is a rust-sourced binary with an API that the
front-end can interact with.
- yew-fmt - A
configurable extension to
rustfmt for formatting Yew
HTML.
Articles
Courses
Books
Alternatives
Yew team love to share ideas with other projects and believe we can
all help each other reach the full potential of this exciting new
technology.
- Draco - A Rust
library for building client side web applications with WebAssembly.
- Percy - A modular
toolkit for building isomorphic web apps with Rust + WebAssembly.
- Sauron - Sauron is
an HTML web framework for building web-apps.
- Seed - A Rust
framework for creating web apps.
- Smithy - A
framework for building WebAssembly apps in Rust.
- Dioxus - Elegant
React-like library for building user interfaces for desktop, web,
mobile, SSR, liveview, and more.
- Sycamore - A
reactive library for creating web apps in Rust and WebAssembly.