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 |
#219 in WebAssembly
106 downloads per month
115KB
2.5K
SLoC
Hirola
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
~175K SLoC