Serverless in-browser RTTE for complex objects and clean OOP abstraction
The x0 framework is a serverless in-browser RTTE (Real Time Templating Engine) that lets you combine complex objects with a cleaner-than-clean OOP abstraction model and clean code principles.
- In-Browser RTTE: Render and evolve object-driven interfaces directly in the browser
- Composable Object System: Combine complex objects into reusable, structured application models
- Clean OOP Abstraction: Build with chaining, metadata, and a consistently clean code style
- Serverless by Design: Keep deployment lightweight without depending on a classic backend stack
- Real-Time Modifiable UI: Update object structures and behavior while the application is running
- Multi-Language Ready: Deliver the same object model across multiple display languages
- Quick Start
- Features
- Abstract / Purpose
- Single Page Application
- Documentation
- Simple Usage
- Technical Details
- Security
- Examples
- File & Folder Structure
- Contributing
- Future Plans / Milestones
- Community & Support
- License
- References
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- Add to
/etc/hosts:
172.20.0.10 x0-app.x0.localnet- Try hello world:
http://x0-app.x0.localnet/python/Index.py
- Try examples:
http://x0-app.x0.localnet/python/Index.py?appid=example7
Full install details including build instructions: ./INSTALL.md.
- Cross Objects: Clean OOP, seamless data exchange between clients and network
- Responsiveness: Bootstrap CSS grid, single app for all devices
- Object Chaining / Data Abstraction: Chain objects, enjoy recursive, reusable modeling
- Zero Code Duplication / Freedom: OSI-layer abstraction, minimal backend dependencies
- Kubernetes Ready: Google Kubernetes Engine (GKE), Minikube support
- Security: PKCS-compatible, optional advanced PKI system
Learn more in Examples.
x0 is designed to make advanced SPA development fun, fast, and maintainable. With zero code duplication and a clean OOP model, x0 powers complex, modern web applications.
Single Page Applications (SPAs) are modern web apps that deliver a seamless, desktop-like user experience directly in the browser. Unlike traditional multi-page websites, SPAs dynamically update content without requiring full page reloads, resulting in faster interactions and smoother navigation.
- Real-Time Updates: By using technologies like WebSockets or polling, SPAs can reflect changes instantly β ideal for chat apps, dashboards, or any application requiring live data.
- Optimized Performance: Static assets are loaded once, and only data or components needed for each interaction are fetched afterward, reducing bandwidth and latency.
Rendered docs: Official Sphinx Documentation.
# define object from system objects
let myRootObject1 = new sysBaseObject();
const myObject1 = new sysObjFormfieldItem(JSONConfig);
const myObject2 = new sysObjLink(JSONConfig);
const myObject3 = new sysObjButton(JSONConfig);
myRootObject.addObject(myObject1);
myRootObject.addObject(myObject2);
myRootObject.addObject(myObject3);
# register new system object
sysRegister(myRootObject1, 'MyCoolObject');
# reuse and combine
let myRootObject2 = new sysBaseObject();
const myObject4 = new sysObjMyCoolObject(JSONConfig);
const myObject5 = new sysObjMyCoolObject(JSONConfig);
myRootObject2.addObject(myObject4);
myRootObject2.addObject(myObject5);
# realtime render
myRootObject2.renderObject();OS Compatibility:
- Ubuntu 22.04 (Jammy Jellyfish)
- Ubuntu 24.04 (Noble Numbat)
- Devuan (Daedalus 5.0)
Prerequisites:
- Apache2.0+ / WSGI or FalconAS
- PostgreSQL 13+
- Python3+, Psycopg2, Selenium
Kubernetes:
- Kubegres: GitHub
- Minikube: Partial support on Windows / Linux
- Install Instructions: ./kubernetes/README.md
Deployment:
- Linux Standalone
- Docker
- Google Kubernetes Engine (GKE)
PKCS 11/15 compatible. Optional advanced PKI (non-free). Full details in WEB/codeX PKI Manager.
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.
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)
Contributions & feedback welcome! See ./CONTRIBUTING.md or open an issue.
- Replace Apache with FalconAS Python Application Server: Repo
- Roadmap: GitHub Milestones
AGPL-3.0. See ./LICENSE.
- https://kubernetes.io
- https://www.selenium.dev
- https://www.kubegres.io
- https://www.sphinx-doc.org
- https://www.devuan.org/
- https://github.com/sl1pm4t/k2tf
- https://github.com/WEBcodeX1/http-1.2
Made with β€οΈ by Claus PrΓΌfer / clickIT / WEBcodeX
