Skip to content

x0 Framework Logo

Ultra-lightweight JavaScript In-Browser Real-Time Templating Engine - built on exceptionally strong OOP principles

CodeQL x0 Test Runner Dependabot License Docs


Overview

The x0 framework is an ultra-lightweight, serverless in-browser RTTE (Real-Time Templating Engine) designed to run entirely independent of backend or server-side code. Built on a clean, object-oriented programming (OOP) foundation, it drastically minimizes code complexity by replacing heavy imperative logic with a highly efficient declarative metadata concept.

The framework can be statically loaded from any standard web server, comprising just 66 system and 4 object metadata definition files with a core footprint of only 356 Kilobytes. It depends on Bootstrap and optionally utilizes Font Awesome for its UI components. Even with a minimalist setup of both libraries, extensive user metadata, and custom application code, the total deployment size remains under 4 Megabytes for a complete client / server architecture. Because the application renders completely within the client browser, it is perfectly suited for resource-constrained environments like embedded microcontroller web interfaces.

An example of an x0-application-driven, browser-controlled multiplayer PONG game running on an ESP32-S3 microcontroller using the ESP-IDF framework (with embedded MicroPython) can be found here:

https://github.com/WEBcodeX1/micropython-as

Key Features & Architecture

  • Declarative Metadata Concept: Uses modern declarative configurations to define application behavior, drastically reducing custom boilerplate code.
  • Clean OOP Foundation: Leverages object-oriented design patterns to minimize architectural complexity and keep the codebase maintainable.
  • Serverless & Independent: Runs entirely in the browser without depending on a classic backend stack.
  • Ultra-Lightweight Core: Consists of only 66 system files and 4 metadata files, totaling just 356 KB.
  • Production Footprint < 4 MB: Includes Bootstrap, Font Awesome, and comprehensive user application code within less than 4 Megabytes.
  • Microcontroller Ready: Ideal for low-resource embedded web interfaces due to full client-side rendering.
  • Modern UI Foundations: Built on top of Bootstrap with optional, flexible Font Awesome icon support.
  • In-Browser RTTE: Renders and evolves object-driven interfaces directly in the frontend in real time.
  • Composable Object System: Combines complex objects into reusable, structured application models using clean OOP abstractions.
  • Multi-Language Ready: Delivers and maps the same underlying object model across multiple display languages.

Quick Start

Try x0 now in minutes!

# clone & enter repo
git clone https://github.com/WEBcodeX1/x0.git
cd x0

# install docker
apt-get -y install docker.io docker-buildx

# docker permissions & setup (as root)
usermod -aG docker your-user

# restart (system) and pull pre-built images
docker pull ghcr.io/webcodex1/x0-app
docker pull ghcr.io/webcodex1/x0-db
docker pull ghcr.io/webcodex1/x0-test

# start x0-system
cd ./docker/
./x0-start-containers.sh
  1. Add to /etc/hosts:
172.20.0.10     x0-app.x0.localnet
  1. Try hello world:
http://x0-app.x0.localnet/python/Index.py
  1. Try examples:
http://x0-app.x0.localnet/python/Index.py?appid=example7

Full install details including build instructions: ./INSTALL.md.


Documentation

Rendered docs: Official Sphinx Documentation.


Security

PKCS 11/15 compatible. Optional advanced PKI (non-free). Full details in WEB/codeX PKI Manager.


Examples

Try 15 live examples (after local docker containers have been started):

http://x0-app.x0.localnet/python/Index.py?appid=example1
...
http://x0-app.x0.localnet/python/Index.py?appid=example15

Most examples now include a descriptive video: ./example/README.md.


File & Folder Structure

Partial overview, see GitHub file search:

├── README.md
├── INSTALL.md
├── debian/
│   └── README.md
├── docker/
│   ├── README.md
│   ├── build-all.sh
│   └── ...
├── doc/
│   ├── index.rst
│   ├── intro.rst
│   ├── dev-examples.rst
│   ├── Makefile
│   └── conf.py
├── example/
│   ├── example1
│   └── example2
├── conf/
│   └── wsgi.conf
├── www/
│   └── sysText.js
├── test/
│   └── README.md
└── ... (more files & folders)

Contributing

Contributions & feedback welcome! See ./CONTRIBUTING.md or open an issue.


Future Plans / Milestones


Community & Support


License

AGPL-3.0. See ./LICENSE.


External References


Made with ❤️ by Claus Prüfer / clickIT / WEBcodeX

About

Powerful Serverless OOP based JavaScript Browser RTTE (Real Time Templating Engine)

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

4 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages