Yew

repo: jetli/awesome-yew
category: Front-End Development related: Rust


Awesome Yew Awesome

<img src="logo.svg" align="right" width="100" title="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

Projects

Templates

Crates

Component Libraries

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

Wasm

Frameworks

  • stackable - A framework experience for Yew.

Tooling

  • 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

  • [Let's Build a Rust Frontend with Yew](https://dev.to/deciduously/lets-build-a-rust-frontend-with-yew---part-1-3k2o)
  • [How to use Rust Yew](https://github.com/steadylearner/blog/tree/master/posts/Rust/How%20to%20use%20Rust%20Yew.md)
  • How to use a modal in Rust
  • [How to use routers in Rust Frontend](https://github.com/steadylearner/blog/tree/master/posts/Rust/How%20to%20use%20routers%20in%20Rust%20Frontend.md)
  • [How to modulize your Rust Frontend](https://github.com/steadylearner/blog/tree/master/posts/Rust/How%20to%20modulize%20your%20Rust%20Frontend.md)
  • [How to use NPM packages with Rust Frontend](https://github.com/steadylearner/blog/tree/master/posts/Rust/How%20to%20use%20NPM%20packages%20with%20Rust%20Frontend.md)
  • [How to use markdown with Rust Frontend](https://github.com/steadylearner/blog/blob/master/posts/Rust/How%20to%20use%20markdown%20with%20code%20snippets%20in%20Rust%20Frontend.md)
  • [Fullstack Rust with Yew](https://github.com/steadylearner/blog/tree/master/posts/Rust/Fullstack%20Rust%20with%20Yew.md)
  • [How to write Full Stack Rust code](https://github.com/steadylearner/blog/tree/master/posts/Rust/How%20to%20write%20Full%20Stack%20Rust%20code.md)
  • [How to render a YouTube vlog with Rust Yew fetch API](https://github.com/steadylearner/blog/blob/master/posts/Rust/How%20to%20render%20a%20YouTube%20vlog%20with%20%20Rust%20Yew%20fetch%20API.md)
  • [How to render blog posts with Rust Yew mounted API](https://github.com/steadylearner/blog/tree/master/posts/Rust/How%20to%20render%20blog%20posts%20with%20Rust%20Yew%20mounted%20API.md)
  • A Web Application completely in Rust
  • [Yew - Rust & WebAsse-frontend framework](https://sudonull.com/post/11627-Yew-Rust-WebAsse-frontend-framework)
  • [Create a desktop app in Rust using Tauri and Yew](https://dev.to/stevepryde/create-a-desktop-app-in-rust-using-tauri-and-yew-2bhe)
  • A code walkthrough video of Yew with a real-world app with Christopher Hunt and Kiki Carter
  • Adding Tailwind to Yew

Courses

  • [full-stack-todo-rust-course](https://github.com/brooks-builds/full-stack-todo-rust-course) - Full stack rust course including course for Yew.

Books

  • [The WebAssembly Book](https://rustwasm.github.io/docs/book/) - Working with the web and producing .wasm files.
  • The wasm-bindgen Guide - How to bind Rust and JavaScript APIs.
  • The wasm-pack Guide - How to build and work with rust-generated WebAssembly.
  • [Programming WebAssembly with Rust](https://pragprog.com/book/khrust/programming-webassembly-with-rust) - Includes a chapter Advanced [JavaScript](/@harrisonqian/awesome/wiki/programming-languages/javascript) [Integration](/@harrisonqian/awesome/wiki/platforms/integration) with Yew on creating an app with Yew.
  • [Creative Projects for Rust Programmers](https://www.oreilly.com/library/view/creative-projects-for/9781789346220/) - Chapter 5, Creating a Client-Side [WebAssembly](/@harrisonqian/awesome/wiki/front-end-development/webassembly) App Using Yew.
  • Server-Side WebAssembly - How to use WebAssembly components and the WebAssembly System Interface (WASI) to build web back ends.

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.

[[curator]]
I'm the Curator. I can help you navigate, organize, and curate this wiki. What would you like to do?