#wasm #html #dom #web

hirola-core

An html library for building client side webapps

5 releases

Uses new Rust 2021

new 0.1.6 Aug 9, 2022
0.1.5 Aug 5, 2022
0.1.4 Aug 1, 2022
0.1.3 Aug 1, 2022
0.1.3-alpha.0 Dec 30, 2020

#328 in WebAssembly

Download history 3/week @ 2022-04-22 6/week @ 2022-04-29 6/week @ 2022-05-06 19/week @ 2022-05-13 8/week @ 2022-05-20 9/week @ 2022-05-27 10/week @ 2022-06-03 2/week @ 2022-06-10 5/week @ 2022-06-17 3/week @ 2022-06-24 3/week @ 2022-07-01 3/week @ 2022-07-08 4/week @ 2022-07-15 5/week @ 2022-07-22 59/week @ 2022-07-29 66/week @ 2022-08-05

134 downloads per month
Used in hirola

MIT/Apache

97KB
2K SLoC

Hirola

Latest Version Build Status MIT licensed

Hirola is an opinionated web framework for that is focused on simplicity and predictability.

Here is a simple example:

use hirola::prelude::*;

fn counter(_: &HirolaApp) -> Dom {
    let state = Signal::new(99);
    let decerement = state.mut_callback(|count, _| *count - 1);
    let incerement = state.mut_callback(|count, _| *count + 1);

    html! {
        <div>
            <button on:click={decerement}>"-"</button>
            <input value={state.get()} disabled/>
            <button on:click={incerement}>"+"</button>
        </div>
    }
}

fn main() {
    let mut app = HirolaApp::new();
    app.mount("body", counter);
}

Milestones

Status Goal Labels
Write code that is declarative and easy to follow ready
Standardize Components help wanted
🚀 SSR First Approach help wanted
🚀 Hydration help wanted
🚀 Serverside integrations help wanted

Inspiration

  • Sycamore/Maple
  • Alpine.js
  • React.js
  • Yew

Demo examples

This API will certainly change.

Go to examples and use trunk

$  trunk serve

Prerequisite:

You need need to have rust, cargo and trunk installed.

License: MIT

Dependencies

~9MB
~176K SLoC