Introduction: Difference between revisions

From FullJS
Jump to navigation Jump to search
No edit summary
Tag: Reverted
(Undo revision 18 by Guttmann (talk))
Tag: Undo
Line 1: Line 1:
= FullJS Documentation =
'''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''' 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 ==
FullJS provides a multi-threaded, event-driven JavaScript runtime built on the '''V8 JavaScript engine'''.
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.
The backend is designed to run exclusively on Linux for maximum performance.
Supported architectures include:
Supported architectures include:
* '''amd64'''
* '''amd64'''
Line 9: Line 11:
* '''arm64'''
* '''arm64'''
* '''riscv64'''
* '''riscv64'''

The runtime ensures high performance and efficiency for server-side applications.


== Backend ==
== Backend ==
The FullJS backend offers a modular, secure, and scalable foundation for running server-side services.
The FullJS backend provides a robust, modular, and secure foundation for running server-side services.
It combines modern architectural principles with deep Linux integration.
It combines modern architectural principles with deep Linux integration to deliver enterprise-grade capabilities.


Key features:
Key features include:
* **Plugin-based architecture** – Extend backend functionality through a modular plugin system.
* **Plugin-based architecture** – Extend and customize backend functionality through a modular plugin system.
* **Microservice-oriented design** – Isolated, loosely coupled services for scalability and maintainability.
* **Microservice-oriented design** – Services are isolated and loosely coupled, making them scalable and maintainable.
* **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 for microservices.
* **JWT-based authentication** – Secure, standard-compliant authentication mechanism for microservices.
* **Built-in user management** – Centralized authentication and user handling.
* **Built-in user management** – Centralized user handling for authentication.
* **ABAC (Attribute-Based Access Control)** – Fine-grained permission management based on attributes and policies.
* **ABAC (Attribute-Based Access Control)** – Fine-grained permission management based on user attributes and policies.
* **Full systemd integration** – Each microservice can be managed as a systemd service (start, stop, reload, status).
* **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 on Linux.
* **Complete D-Bus integration** – Native inter-process communication support for Linux server environments.


== Frontend ==
== Frontend ==
The FullJS frontend is designed for **complex, information-driven web applications** rather than content-oriented websites.
The FullJS frontend is built for **complex, information-driven web applications** rather than content-oriented websites.


Key features:
Key features include:
* **KDE Plasma-inspired look & feel** – Modern, desktop-like experience within the browser, including light and dark color schemes.
* **KDE Plasma-inspired look & feel** – A modern, desktop-like experience within the browser, including both 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 for building application interfaces.
* **Integrated third-party libraries** – Support for tools such as Chart.js for charts and Leaflet for maps.
* **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.
== 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 ==
== Web IDE ==
FullJS provides a web-based Integrated Development Environment (IDE) for creating and managing applications.
A web-based Integrated Development Environment (IDE) for creating and managing applications.
It supports development of both client-side and server-side code.
It enables 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 (e.g., Google Chrome), making your apps accessible to everyone.


== See Also ==
== Get Started ==
To begin using FullJS, explore the following pages:
* [[Node.js]]
* [[V8 JavaScript engine]]
* [[Getting Started]]
* [[KDE Plasma]]
* [[Architecture]]
* [[Systemd]]
* [[Libraries]]
* [[Tutorials]]

Revision as of 15:08, 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.

Backend

The FullJS backend provides a robust, modular, and secure foundation for running server-side services. It combines modern architectural principles with deep Linux integration to deliver enterprise-grade capabilities.

Key features include:

  • **Plugin-based architecture** – Extend and customize backend 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 microservices.
  • **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, including both 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 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: