uix.unyt.org • a unyt.org project
UIX is an open-source full-stack framework for developing reactive web apps with restorable and shared state. UIX runs on a Deno backend and supports both single- and multi page applications with frontend or server-side rendering and hydration.
The DATEX JavaScript Library acts as the backbone of UIX, providing useful functionality such as reactivity and cross-device data exchange. In contrast to frameworks like React, UIX provides direct wiring to the DOM for reactivity and does not need a virtual DOM.
There are many ways to create UIX applications:
- using the TypeScript UIX Library and JSX (focus of the documentation)
- defining UIX states with DATEX
- using the UIX Web Editor (still in development)
The UIX library is designed with a modular approach that makes it easy for developers to add custom components and logic as needed.
Main features
- Cross-network reactivity
- Server side rendering with partial hydration
- Hybrid backend/frontend routing
- Cross-realm imports
- Shared memory
- JSX support
- Reusable web components
- And many more...
UIX aims to simplify all phases of the app development cycle, including design, development, testing and distribution, in order to make the developer experience as convenient as possible. This is why UIX ships with integrated features such as:
- Testing library
- Stage management
- Automated deployment
- Version management
- Hot reloading
Note
You can find all UIX documentation and resources on docs.unyt.org. Please be aware that the documentation is work in progress and may change in the future.
- Getting Started
- Imports
- JSX
- Components
- Entrypoints and Routing
- Component States
- Persistent Contexts
- Rendering Methods
- Configuration
- Localization
- Functions and Contexts
- Styles and Themes
- Shadow DOM
- Utility Functions
- Deployment
- HTTP Tunneling
- Plugins
- Rendering
- App Communication
- DATEX Worknench
Feel free to browse a collection of UIX projects on uix.unyt.org/templates.
- Example Localization
- Example Simple Messenger
- Example Shopping List
- Example Website Screenshot Tool
- Example Tic-Tac-Toe
- Example Weather App
- Example Artwall
- Example Video Call
Certain features of UIX are also supported in legacy browser versions. The following overview is for general guidance in order to show the major browsers and their minimum version number required to use all of UIX's features.
Chrome |
Edge |
Firefox |
Safari |
iOS Safari |
Samsung |
Opera |
---|---|---|---|---|---|---|
Chrome 120+ | Edge 120+ | Firefox 117+ | Safari 17.5+ | Safari 17.5+ | unknown | unknown |
The UIX full-stack framework is built on top of UIX DOM, a standalone library that allows you to define reactive DOM elements on the frontend and backend.
The full-stack UIX framework provides many more features, but if you just need a basic reactive DOM library, you can take a look at UIX DOM.
We welcome every contribution!
Please take a look at the development guidelines and the unyt.org contribution guidlines.
Check out our Blog!
Thanks goes to these wonderful people (emoji key):
Benedikt Strehle 🐛 🖋 📖 🎨 🤔 🚧 |
Jonas Strehle 🎨 💻 📖 🤔 🚧 |
This project follows the all-contributors specification. Contributions of any kind welcome!
© unyt 2024 • unyt.org