Introduction: Difference between revisions
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
= FullJS Documentation = |
= FullJS Documentation = |
||
'''FullJS''' is a complete ecosystem for developing and running applications with JavaScript. It brings together an embedded V8 runtime, a robust server-side application server with full Linux and systemd integration, a KDE Plasma-like frontend GUI library, |
'''FullJS''' is a complete ecosystem for developing and running applications with JavaScript. It brings together an embedded V8 runtime, a robust server-side application server with full Linux and systemd integration, a KDE Plasma-like frontend GUI library, a set of built-in libraries for common development tasks, and a powerful web-based IDE featuring drag-and-drop GUI design. |
||
== JavaScript Runtime == |
== JavaScript Runtime == |
||
| Line 37: | Line 37: | ||
* **Integrated third party libraries** – Support for advanced tools such as Chart.js for charts and Leaflet for maps and geospatial visualization. |
* **Integrated third party libraries** – Support for advanced tools such as Chart.js for charts and Leaflet for maps and geospatial visualization. |
||
== Libraries == |
== Built-In Libraries == |
||
FullJS includes a set of |
FullJS includes a set of built-in JavaScript libraries to simplify common development tasks. |
||
Examples of core libraries include: |
Examples of core libraries include: |
||
* File system access (`fs`) |
* **File system access (`fs`)** – Fully asynchronous I/O powered by Linux `io_uring` for high-performance file operations. |
||
* |
* **Thread management (`Worker`)** – Manage concurrent tasks efficiently. |
||
* Networking (`socket`, `http`) |
* **Networking (`socket`, `http`)** – Build robust server and client network applications. |
||
* GUI elements for web-based apps |
* **GUI elements for web-based apps** – Buttons, icons, dialogs, and other essential widgets. |
||
* Charts and data visualization (`ChartJS`) |
* **Charts and data visualization (`ChartJS`)** – Visualize data directly in your application. |
||
* **Logging utilities (`console`)** – Structured logging with configurable log levels for easy debugging and monitoring. |
|||
* Logging and debugging utilities with full Systemd integration |
|||
These libraries allow developers to build complex applications with minimal effort. |
These libraries allow developers to build complex applications with minimal effort, while taking full advantage of FullJS's high-performance runtime and system integration. |
||
== Web IDE == |
== Web IDE == |
||
Revision as of 14:32, 30 August 2025
FullJS Documentation
FullJS is a complete ecosystem for developing and running applications with JavaScript. It brings together an embedded V8 runtime, a robust server-side application server with full Linux and systemd integration, a KDE Plasma-like frontend GUI library, a set of built-in libraries for common development tasks, and a powerful web-based IDE featuring drag-and-drop GUI design.
JavaScript Runtime
A multi-threaded, event-driven JavaScript runtime built on the V8 JavaScript engine. The backend is designed to run exclusively on Linux for maximum performance. Supported architectures include:
- amd64
- arm
- arm64
- riscv64
The runtime ensures high performance and efficiency for server-side applications.
Application Server
The FullJS Application Server is designed to provide a robust, modular, and secure foundation for running backend services. It combines modern architectural principles with deep Linux integration to deliver enterprise-grade capabilities.
Key features include:
- **Plugin-based architecture** – Extend and customize server functionality through a modular plugin system.
- **Microservice-oriented design** – Services are isolated and loosely coupled, making them scalable and maintainable.
- **Advanced logging** – Structured logging with runtime-configurable log levels.
- **JWT-based authentication** – Secure, standard-compliant authentication mechanism for microservice design.
- **Built-in user management** – Centralized user handling for authentication.
- **ABAC (Attribute-Based Access Control)** – Fine-grained permission management based on user attributes and policies.
- **Full systemd integration** – Each microservice can be managed natively as systemd services (start, stop, reload, status).
- **Complete D-Bus integration** – Native inter-process communication support for Linux server environments.
Frontend
The FullJS frontend is built for **complex, information-driven web applications** rather than content-oriented websites.
Key features include:
- **KDE Plasma-inspired look & feel** – A modern, desktop-like experience within the browser.
- **Plugin-based design** – Extend the frontend with additional components and modules.
- **Core GUI controls** – Buttons, Dialogs, and essential widgets for building application interfaces.
- **Integrated third party libraries** – Support for advanced tools such as Chart.js for charts and Leaflet for maps and geospatial visualization.
Built-In Libraries
FullJS includes a set of built-in JavaScript libraries to simplify common development tasks. Examples of core libraries include:
- **File system access (`fs`)** – Fully asynchronous I/O powered by Linux `io_uring` for high-performance file operations.
- **Thread management (`Worker`)** – Manage concurrent tasks efficiently.
- **Networking (`socket`, `http`)** – Build robust server and client network applications.
- **GUI elements for web-based apps** – Buttons, icons, dialogs, and other essential widgets.
- **Charts and data visualization (`ChartJS`)** – Visualize data directly in your application.
- **Logging utilities (`console`)** – Structured logging with configurable log levels for easy debugging and monitoring.
These libraries allow developers to build complex applications with minimal effort, while taking full advantage of FullJS's high-performance runtime and system integration.
Web IDE
A web-based Integrated Development Environment (IDE) for creating and managing applications. It enables development of both client-side and server-side code. While the backend requires Linux, client-side applications run in any modern browser (e.g., Google Chrome), making your apps accessible to everyone.
Get Started
To begin using FullJS, explore the following pages: