Introduction: Difference between revisions

From FullJS
Jump to navigation Jump to search
No edit summary
 
(24 intermediate revisions by the same user not shown)
Line 1: Line 1:
'''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.
= FullJS Documentation =


= JavaScript Runtime =
'''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, an extensive collection of carefully curated libraries, and a powerful web-based IDE featuring drag-and-drop GUI design.
The runtime is built on the V8 JavaScript engine, designed exclusively for Linux delivering maximum performance, stability, and reliability across a wide range of architectures.


= Application Server =
== JavaScript Runtime ==
The application server provides a robust, modular, and secure foundation for running server-side services.
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.
It combines modern architectural principles with deep Linux integration to deliver enterprise-grade capabilities.


Key features include:
Key features include:
* **Plugin-based architecture** – Extend and customize server functionality through a modular plugin system.
* 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.
* 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 distributed applications.
* JWT-based authentication – Secure, standard-compliant authentication mechanism for microservices.
* **Built-in user management** – Centralized user handling for authentication.
* Built-in user management – Centralized user handling for authentication.
* **ABAC (Attribute-Based Access Control)** – Fine-grained permission management based on user attributes and policies.
* ABAC (Attribute-Based Access Control) – Fine-grained permission management based on user attributes and policies.
* **Full systemd integration**Can be managed natively as systemd services (start, stop, reload).
* 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.
* 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.


== Libraries ==
= Built-In Libraries =
FullJS includes a set of essential JavaScript libraries to simplify common development tasks.
FullJS includes a set of built-in JavaScript and native 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.
* Process and thread management (`Worker`)
* 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 =
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 enables 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 (e.g., Google Chrome), making your apps accessible to everyone.
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 ==
= Get Started =
To begin using FullJS, explore the following pages:
To begin using FullJS, explore the following pages:
* [[Getting Started]]
* [[Getting Started]]

Latest revision as of 15:42, 1 September 2025

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

The runtime is built on the V8 JavaScript engine, designed exclusively for Linux delivering maximum performance, stability, and reliability across a wide range of architectures.

Application Server

The application server 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 and native 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: