ALFI is a query language for graphical user interfaces.
ALFI works in a similar way to SQL but instead of talking to a database you talk to an ALFI client (or ALFI browser). The ALFI browser will convert the ALFI queries into graphical elements (i.e. widgets) and render them on the screen.
An ALFI query will tell the client to either insert, delete or update an element. ALFI is stateless so a typical use-case would be to have a regular web server serving ALFI queries as responses from regular HTTP requests (like GET, POST, etc).
NAVI is a proof of concept client/browser for ALFI. It takes ALFI queries and renders widgets in OpenGL. It is currently very much under development.
Building / Installing
You need to have the glfw3 libraries installed in order to build NAVI from soure. How you install those depends on your distribution of choice.
$ make install
And that's it.
To parse an alfi file:
$ alfi < example.alfi
To start navi: