# Ruukh **Repository Path**: mirrors/Ruukh ## Basic Information - **Project Name**: Ruukh - **Description**: Ruukh —— Rust 语言编写的下一代前端 Web 框架 Rust 已将其目标设定为主要的 WASM 语言,并且在后端和前端 Web 中使用它会非常棒 - **Primary Language**: Rust - **License**: MIT - **Default Branch**: master - **Homepage**: https://www.oschina.net/p/ruukh - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2018-10-09 - **Last Updated**: 2026-02-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Ruukh - Frontend Web Framework [![Crates.io](https://img.shields.io/crates/v/ruukh.svg)](https://crates.io/crates/ruukh) [![Docs](https://docs.rs/ruukh/badge.svg)](https://docs.rs/ruukh) [![GitHub issues](https://img.shields.io/github/issues/csharad/ruukh.svg)](https://github.com/csharad/ruukh/issues) [![GitHub license](https://img.shields.io/github/license/csharad/ruukh.svg)](https://github.com/csharad/ruukh/blob/master/LICENSE) [![Build Status](https://travis-ci.com/csharad/ruukh.svg?branch=master)](https://travis-ci.com/csharad/ruukh) An experimental next-gen frontend framework for the Web in Rust. Write your web app in pure Rust. #### [Documentation (Master)](https://sharadchand.com/ruukh) #### !! THIS IS HIGHLY UNSTABLE !! Don't depend on this library for any of your production code. Also, this project does not make a guarantee that it will ever stabilize as there are a lot of issues to iron out. This project also might have breaking changes in patch version till `0.1.0`. So, for the time being, this project is in a state of continuous experimentation. # Usage Create a new library project as binary projects are not supported to run on WASM. Add the following to your `Cargo.toml`: ```toml [lib] crate-type = ["cdylib"] [dependencies] ruukh = "0.0.3" wasm-bindgen = "0.2.21" ``` ## Ruukh CLI You may use [`cargo-ruukh`](https://github.com/csharad/cargo-ruukh) to make your life easier to build and run Ruukh projects. It supports running your webapp in a development server. To install it: ```shell cargo install cargo-ruukh ``` For more information: read up the [README](https://github.com/csharad/cargo-ruukh) at its own repo. ## Code structure The CLI to run your project effortlessly expects your code to be structured in a particular way. Also, mind that this library requires latest nightly to work. In `lib.rs` with 2018 edition enabled: ```rust #![feature(proc_macro_hygiene, decl_macro)] use wasm_bindgen::prelude::*; use ruukh::prelude::*; #[component] #[derive(Lifecycle)] struct MyApp; impl Render for MyApp { fn render(&self) -> Markup { html! { "Hello World!" } } } #[wasm_bindgen] pub fn run() { App::::new().mount("app"); } ``` To check & see how the Ruukh app works, go to the [Examples](https://github.com/csharad/ruukh/tree/master/examples) section and run those projects. --- The project is licensed under [MIT](https://github.com/csharad/ruukh/blob/master/LICENSE).