Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/iainjreid/fui

A functional UI framework and rendering engine with an impossibly small footprint
https://github.com/iainjreid/fui

framework fui functional functional-programming interface user user-interface

Last synced: about 23 hours ago
JSON representation

A functional UI framework and rendering engine with an impossibly small footprint

Awesome Lists containing this project

README

        


















## What’s this all about?

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](https://git.io/fjvBY) for a demo!

### Features

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.

```javascript
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);
```

## FAQ

### Why is this not written in TypeScript?

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.

## License

This project is released under the [MIT License](./LICENSE). Enjoy responsibly
✌️