yewstack

    yewstack/yew

    #605 this week

    Rust / Wasm framework for creating reliable and efficient web applications

    web
    asmjs
    concurrency
    elm
    emscripten
    gui
    Rust
    Apache-2.0
    32.6K stars
    1.5K forks
    32.6K GitHub watchers
    Updated 6/25/2026
    View on GitHub

    Backblaze Generative Media Hackathon

    Build the next generation of AI media apps with Genblaze, stored on Backblaze B2. $10,000 in prizes.

    Enter the hackathon

    Loading star history...

    Use Cases & Benefits

    • Creates multi-threaded front-end web applications using Rust and WebAssembly for high performance and reliability.
    • Minimizes DOM API calls and supports offloading processing to background web workers for efficient rendering and concurrency.
    • Use for building interactive web apps with Rust that require fine-grained control over performance and concurrency.
    • Use for integrating Rust-based front-end components into existing JavaScript applications leveraging NPM packages.
    • Use for developers familiar with JSX or React seeking a Rust alternative for client-side web development with WebAssembly.

    About yew

    About

    Yew is a modern Rust framework for creating multi-threaded, front-end web apps with WebAssembly.

    • Features a macro for declaring interactive HTML with Rust expressions. Developers who have experience using JSX in React should feel quite at home when using Yew.
    • Achieves high performance by minimizing DOM API calls for each page render and by making it easy to offload processing to background web workers.
    • Supports JavaScript interoperability, allowing developers to leverage NPM packages and integrate with existing JavaScript applications.

    Note: Yew is not 1.0 yet. Be prepared to do major refactoring due to breaking API changes.

    Contributing

    Yew is a community-driven effort and we welcome all kinds of contributions, big or small, from developers of all backgrounds. We want the Yew community to be a fun and friendly place, so please review our Code of Conduct to learn what behavior will not be tolerated.

    🤠 New to Yew?

    Start learning about the framework by helping us improve our documentation. Pull requests which improve test coverage are also very welcome.

    😎 Looking for inspiration?

    Check out the community curated list of awesome things related to Yew / WebAssembly at jetli/awesome-yew.

    🤔 Confused about something?

    Feel free to drop into our Discord chatroom or open a new "Question" issue to get help from contributors. Often questions lead to improvements to the ergonomics of the framework, better documentation and even new features!

    🙂 Ready to dive into the code?

    After reviewing the Contribution Guide, check out the "Good First Issues" (they are eager for attention!). Once you find one that interests you, feel free to assign yourself to an issue and don't hesitate to reach out for guidance, the issues vary in complexity.

    😱 Found a bug?

    Please report all bugs! We are happy to help support developers fix the bugs they find if they are interested and have the time.

    🤓 Want to help translate?

    Translations can be submitted on the Yew GitLocalize Repo. If you are interested in being the official moderator for a language, please reach out on Discord.

    Contributors

    Code Contributors

    This project exists thanks to all the people who contribute.

    Financial Contributors

    Become a financial contributor and help us sustain our community. [Contribute]

    Individuals

    Organizations

    Support this project with your organization. Your logo will show up here with a link to your website. [Contribute]

    Discover Repositories

    Search across tracked repositories by name or description