Fui is a fresh take on the traditional frontend framework, it’s simple to use, has a tiny footprint, and is blazingly fast!
Under the hood, Fui is built using functional concepts, elements you build are referentially transparent, so wherever or however you create them they'll always be the same.
Checkout this repository for a demo!
At its center, Fui plays host to a simple AST engine; a respectably lightweight one, written in highly compressible and optimised code, weighing in at just 396 bytes.
Elements are composed using simple JavaScript functions, so there's no need for JSX, or even HTML for that matter. Using elements is simply a case of importing the composition, and then invoking it.
const { div } = require("@emphori/fui/html");
// A possible component
const myWrapper = div.attr("class", "wrapper");
// Generate the DOM element
const elem = myWrapper();
// Append the element
document.body.appendChild(elem);
There's rational behind not using TS for this project, simply put, the need to easily document the possible values exposed by a Proxy isn't currently met by the tooling provided.
This project is released under the MIT License. Enjoy responsibly ✌️