Overview

UIX

The UIX Guide

This guide introduces some important concepts and paradigms for developing applications with UIX / DATEX. We recommend that you read this guide before starting to develop a UIX application to fully understand the concepts and capabilities of the framework.

Important concepts

Tutorials

What is UIX?

UIX is a full-stack framework for building web applications running on the Deno runtime for JavaScript and TypeScript. It provides a complete environment for building single- and multi page applications with frontend or server-side rendering and hydration.

What is a Full-Stack Framework?

A full-stack framework provides everything you need to build both the front-end (client-side) and the back-end (server-side) of an application in a unified environment. That typically includes:

  • Routing: To handle HTTP requests and serve responses.
  • Templating/Rendering: For generating dynamic and reusable UI.
  • Various tools: Supporting developing, testing, and deploying web applications.

UIX is designed to provide these components seamlessly, by utilizing Deno’s capabilities to manage both the server-side logic and the client-side interactions.

How UIX Works with Deno

UIX leverages Deno as its underlying runtime environment. However, it uses a custom runtime specifically tailored for UIX apps, called "Deno for UIX". Deno for UIX allows for improved reactivity syntax to be used in UIX projects. That special behaviors make UIX suited for building and deploying modern web apps.

UIX also installs a module that acts as a command-line executable (uix), which interacts directly with Deno to handle project setup, runtime, and deployment.

To get started with UIX, you need to install the uix command:

curl -fsSL https://unyt.land/install.sh | bash

The script will install the custom Deno for UIX executable into ~/.uix/bin/deno.

In the second step the script then installs the uix executable into ~/.uix/bin/uix using the Deno script installer.

The install script will add the ~/.uix/bin/ path to the system $PATH environment variable. That allows for using the deno and uix commandlet inside of the terminal.

The installed uix command is a wrapper that, behind the scenes, executes the following script:

#!/bin/sh
# generated by deno install
exec deno run --allow-all --quiet --import-map 'https://cdn.unyt.org/uix/importmap.json' --no-config 'https://cdn.unyt.org/uix/run.ts' "$@"

This script invokes the UIX runner (run.ts), which handles UIX auto updates, and deployment. The runner verifies passed CLI arguments (e.g., --watch, --port), and starts another Deno process for launching your current UIX app with the passed configuration parameters.

Did this doc help you?

Privacy Policy

Help us improving our docs

Our documentations are fully open source. Something is wrong or unclear?

Make a contribution