Introduction: Difference between revisions
No edit summary |
No edit summary Tag: Reverted |
||
| Line 1: | Line 1: | ||
| ⚫ | '''FullJS''' is a comprehensive ecosystem for developing and running applications using JavaScript. It integrates an embedded V8 runtime, a robust server-side backend with Linux and systemd support, a KDE Plasma-inspired frontend GUI library, a collection of built-in libraries for common development tasks, and a web-based IDE with drag-and-drop GUI design. |
||
= FullJS Documentation = |
|||
| ⚫ | '''FullJS''' is a |
||
== JavaScript Runtime == |
== JavaScript Runtime == |
||
FullJS provides a multi-threaded, event-driven JavaScript runtime built on the '''V8 JavaScript engine'''. |
|||
The backend is designed to run exclusively on Linux for |
The backend is designed to run exclusively on Linux for optimal performance. |
||
Supported architectures include: |
Supported architectures include: |
||
* '''amd64''' |
* '''amd64''' |
||
| Line 11: | Line 9: | ||
* '''arm64''' |
* '''arm64''' |
||
* '''riscv64''' |
* '''riscv64''' |
||
The runtime ensures high performance and efficiency for server-side applications. |
|||
== Backend == |
== Backend == |
||
The FullJS backend |
The FullJS backend offers a modular, secure, and scalable foundation for running server-side services. |
||
It combines modern architectural principles with deep Linux integration |
It combines modern architectural principles with deep Linux integration. |
||
Key features |
Key features: |
||
* **Plugin-based architecture** – Extend |
* **Plugin-based architecture** – Extend backend functionality through a modular plugin system. |
||
* **Microservice-oriented design** – |
* **Microservice-oriented design** – Isolated, loosely coupled services for scalability and maintainability. |
||
* **Advanced logging** – Structured logging with runtime-configurable log levels. |
* **Advanced logging** – Structured logging with runtime-configurable log levels. |
||
* **JWT-based authentication** – Secure, standard-compliant authentication |
* **JWT-based authentication** – Secure, standard-compliant authentication for microservices. |
||
* **Built-in user management** – Centralized |
* **Built-in user management** – Centralized authentication and user handling. |
||
* **ABAC (Attribute-Based Access Control)** – Fine-grained permission management based on |
* **ABAC (Attribute-Based Access Control)** – Fine-grained permission management based on attributes and policies. |
||
* **Full systemd integration** – Each microservice can be managed |
* **Full systemd integration** – Each microservice can be managed as a systemd service (start, stop, reload, status). |
||
* **Complete D-Bus integration** – Native inter-process communication support |
* **Complete D-Bus integration** – Native inter-process communication support on Linux. |
||
== Frontend == |
== Frontend == |
||
The FullJS frontend is |
The FullJS frontend is designed for **complex, information-driven web applications** rather than content-oriented websites. |
||
Key features |
Key features: |
||
* **KDE Plasma-inspired look & feel** – |
* **KDE Plasma-inspired look & feel** – Modern, desktop-like experience within the browser, including light and dark color schemes. |
||
* **Plugin-based design** – Extend the frontend with additional components and modules. |
* **Plugin-based design** – Extend the frontend with additional components and modules. |
||
* **Core GUI controls** – Buttons, icons, dialogs, and essential widgets |
* **Core GUI controls** – Buttons, icons, dialogs, and essential widgets. |
||
* **Integrated third-party libraries** – Support for |
* **Integrated third-party libraries** – Support for tools such as Chart.js for charts and Leaflet for maps. |
||
| ⚫ | |||
| ⚫ | |||
Examples of core libraries include: |
|||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
These libraries allow developers to build complex applications with minimal effort, while taking full advantage of FullJS's high-performance runtime and system integration. |
|||
| ⚫ | |||
Examples: |
|||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
== Web IDE == |
== Web IDE == |
||
FullJS provides a web-based Integrated Development Environment (IDE) for creating and managing applications. |
|||
It |
It supports development of both client-side and server-side code. |
||
While the backend requires Linux, client-side applications run in any modern browser |
While the backend requires Linux, client-side applications run in any modern browser. |
||
== |
== See Also == |
||
* [[Node.js]] |
|||
To begin using FullJS, explore the following pages: |
|||
* [[ |
* [[V8 JavaScript engine]] |
||
* [[ |
* [[KDE Plasma]] |
||
* [[ |
* [[Systemd]] |
||
* [[Tutorials]] |
|||
Revision as of 15:03, 30 August 2025
FullJS is a comprehensive ecosystem for developing and running applications using JavaScript. It integrates an embedded V8 runtime, a robust server-side backend with Linux and systemd support, a KDE Plasma-inspired frontend GUI library, a collection of built-in libraries for common development tasks, and a web-based IDE with drag-and-drop GUI design.
JavaScript Runtime
FullJS provides a multi-threaded, event-driven JavaScript runtime built on the V8 JavaScript engine. The backend is designed to run exclusively on Linux for optimal performance. Supported architectures include:
- amd64
- arm
- arm64
- riscv64
Backend
The FullJS backend offers a modular, secure, and scalable foundation for running server-side services. It combines modern architectural principles with deep Linux integration.
Key features:
- **Plugin-based architecture** – Extend backend functionality through a modular plugin system.
- **Microservice-oriented design** – Isolated, loosely coupled services for scalability and maintainability.
- **Advanced logging** – Structured logging with runtime-configurable log levels.
- **JWT-based authentication** – Secure, standard-compliant authentication for microservices.
- **Built-in user management** – Centralized authentication and user handling.
- **ABAC (Attribute-Based Access Control)** – Fine-grained permission management based on attributes and policies.
- **Full systemd integration** – Each microservice can be managed as a systemd service (start, stop, reload, status).
- **Complete D-Bus integration** – Native inter-process communication support on Linux.
Frontend
The FullJS frontend is designed for **complex, information-driven web applications** rather than content-oriented websites.
Key features:
- **KDE Plasma-inspired look & feel** – Modern, desktop-like experience within the browser, including light and dark color schemes.
- **Plugin-based design** – Extend the frontend with additional components and modules.
- **Core GUI controls** – Buttons, icons, dialogs, and essential widgets.
- **Integrated third-party libraries** – Support for tools such as Chart.js for charts and Leaflet for maps.
Built-in Libraries
FullJS includes built-in JavaScript libraries to simplify development tasks. Examples:
- **File system access (`fs`)** – Fully asynchronous I/O with Linux `io_uring`.
- **Thread management (`Worker`)** – Efficient concurrent task handling.
- **Networking (`Socket`, `http`)** – Server and client network capabilities.
- **GUI elements for web apps** – Buttons, icons, dialogs, and other widgets.
- **Charts and data visualization (`ChartJS`)** – Visualize data within applications.
- **Logging utilities** – Structured logging with configurable levels.
Web IDE
FullJS provides a web-based Integrated Development Environment (IDE) for creating and managing applications. It supports development of both client-side and server-side code. While the backend requires Linux, client-side applications run in any modern browser.