Yew
Rust framework inspired by Elm and React for creating multi-threaded frontend web apps with WebAssembly.
Contents
Projects
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.
A web application completely written in Rust, frontend is built with Yew.
Easily testable and working Rust codes with blog posts to explain them.
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.
This project shows how to create a web app using a React component inside a Yew component.
Toy project to learn Rust and async that can be deployed to the web.
An example of building a Rust based web app (Yew) into a native app using electron.
Highly opinionated boilerplate for creating full stack applications with Rust.
A website where developers can find pair-programming partners. Written in Rust, Yew frontend.
A Rust WebAssembly Webapp example basing Yew newest hooks and functional API, the code style is extremely like React Function Component.
A notebook app integrated with todo lists utility. Developed with Rust, WebAssembly, Yew and Trunk.
A Full Stack Rust application (Connect5 game) with Actix-web, Yew, Bulma CSS and Diesel.
Clean boilerplate for graphql services, with wasm/yew frontend.
A blog built on yew + graphql, with live demo site. Backend for graphql services, and frontend for web application.
A website with interactive implementations of various algorithms.
Rquote is a web application built using Rust and WebAssembly. It fetches Anime quotes from the Animechan API. Live Demo.
The example demonstrates Yew server-side rendering with tide & surf, it needs the development version of Yew.
The example demonstrates Yew server-side rendering with actix-web & reqwest, it needs the development version of Yew.
PixelGuesser is a real life party gam where players try to guess the contents of an image as quickly as possible.
A blog system in which frontend and backend are ALL written in Rust. Backend powered by Warp and frontend built on Yew (WASM).
Realtime audio processing / synthesis using Rust/WASM in the browser, Live Demo.
An online real-time strategy game in which you expand your territory by capturing towers.
Spaceman is a cross-platform gRPC client designed to be pleasant to use and pretty to look at.
Web app that can hash, encrypt, and sign the data on the client side. Also includes a JWT debugger. Website.
An open-source, cross-platform markdown editor; built with Yew, Tauri, Tailwind, and DaisyUI. Web App.
A simple example program for creating ZIP archives running in the browser using WebAssembly, Live Demo.
The software has primarily implemented the basic functionalities of an IM application, which includes a fundamental friend system, one-on-one chat, group chat, and one-on-one audio/video calls. It also supports i18n and currently offers a switch between Chinese and English.
PinePods is a Rust based podcast management system that manages podcasts with multi-user support and relies on a central database with clients to connect to it.
The Sentry Relay is a service that pushes some functionality from the Sentry SDKs as well as the Sentry server into a proxy process.
Candle is a minimalist ML framework for Rust with a focus on performance (including GPU support) and ease of use. Try our online demos: whisper, LLaMA2, T5, yolo, Segment Anything.
Rust-based Man in the Middle proxy, an early-stage project aimed at providing visibility into network traffic.
Web application to render a diff between Rust crate versions. Implemented in Yew, runs fully in the browser as WebAssembly, Live Demo.
readme-ov-file
Templates
Set up a modern Yew web app by running one command, npx create-yew-app my-app.
A template for starting a Yew project to be used with wasm-pack.
A minimal template for starting a Yew project using wasm-bindgen and wasm-pack.
Directly deployable Template of yew project for github.io, using tailwind and webpack for css, trunk for build and serve.
A starter project that sets up Axum and Yew for full stack Rust web apps.
Crates
Component Libraries
A Rust library providing components based on the bulma css library for projects using Yew.
Builds Tailwind CSS for Yew using docker-compose. Also supports Trunk.
A Yew-based charting library that provides SVG based components for rendering charts.
Duskmoon UI Component Library. This package use stylist to embbed css in components, so no extra CSS file is needed. Live Demo.
A navigational link that is aware of its active state based on the current route in the application.
Yew port of Lucide, a beautiful & consistent icon toolkit made by the community.
Yew port of Radix, a library of components, icons, colors, and templates for building high-quality, accessible UI.
Yew port of shadcn/ui, a library of beautifully designed components that you can copy and paste into your apps.
Components
Hooks
Custom Hooks library for Yew, inspired by streamich/react-use and alibaba/hooks.
Reconcile Side Effects in Yew Applications, inspired by react-side-effect and react-helmet.
Javascript Library Ports
Utils
Generate Yew components from React components via Typescript type definitions.
Easily include a variety of svg icons(Feather/Font Awesome/Octicons) into your Yew app.
Tooling
Github action to install wasm-pack by downloading the executable to speed up CI/CD.
Github action to install wasm-bindgen by downloading the executable to speed up CI/CD.
Github action to install Trunk by downloading the executable to speed up CI/CD.
The WebAssembly Binary Toolkit, for the wasm-strip and wasm-objdump tools to reduce .wasm file size.
Compiler infrastructure and toolchain library for WebAssembly, for the wasm-opt tool to reduce .wasm file size.
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.