Skip to content

WEBcodeX1/x0

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

x0 Framework Logo

x0 JavaScript Framework

Modern, True OOP Real-Time SPA Framework for Powerful Web Applications


πŸ“Œ Overview

x0 (cross-objects /krΙ’s Ι’b.dΚ’Ιͺkts/) is a next-gen JavaScript framework for building robust, real-time Single Page Applications (SPAs).

  • Fast SPA Development: Near desktop-app speed and features
  • Responsive by Design: One app, every device, standards via Bootstrap CSS
  • Clean OOP Model: True object orientation, abstraction, chaining, metadata modeling
  • Zero Code Duplication: Efficient, maintainable, backend-agnostic
  • Kubernetes Ready: Easy cloud-native deployment
  • Security: PKCS 11/15 compatible, own PKI system (non-free)
  • Multiple Language Support: x0 supports multiple display languages

πŸ“‘ Table of Contents

  1. Quick Start
  2. Features
  3. Abstract / Purpose
  4. Single Page Application
  5. Documentation
  6. Simple Usage
  7. Technical Details
  8. Security
  9. Examples
  10. File & Folder Structure
  11. Contributing
  12. Future Plans / Milestones
  13. Community & Support
  14. License
  15. References

🐎 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.


🌟 Features

  • 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.


πŸ“£ Abstract / Purpose

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 Application

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.

Modern SPAs, empowered by frameworks like x0, are at the forefront of web innovation, closing the gap between browser-based apps and native desktop software.


πŸ“ƒ Documentation

Rendered docs: Official Sphinx Documentation.


πŸ“ Simple Usage

# 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();

⚑ Technical Details

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:

Deployment:

  • Linux Standalone
  • Docker
  • Google Kubernetes Engine (GKE)

πŸ” 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

x0 JavaScript True OOP Based SPA Browser Framework

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

  •  
  •  

Packages

 
 
 

Contributors 4

  •  
  •  
  •  
  •