Introduction: Difference between revisions

From FullJS
Jump to navigation Jump to search
(Undo revision 18 by Guttmann (talk))
Tag: Undo
No edit summary
Line 1: Line 1:
= 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.
'''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 =
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 maximum performance.
The backend is designed to run exclusively on Linux for maximum performance.
Line 14: Line 12:
The runtime ensures high performance and efficiency for server-side applications.
The runtime ensures high performance and efficiency for server-side applications.


== Backend ==
= Backend =
The FullJS backend provides a robust, modular, and secure 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 to deliver enterprise-grade capabilities.
It combines modern architectural principles with deep Linux integration to deliver enterprise-grade capabilities.
Line 28: Line 26:
* **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 ==
= Frontend =
The FullJS frontend is built 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.


Line 37: Line 35:
* **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.


== Built-In Libraries ==
= Built-In Libraries =
FullJS includes a set of built-in JavaScript libraries to simplify common development tasks.
FullJS includes a set of built-in JavaScript libraries to simplify common development tasks.
Examples of core libraries include:
Examples of core libraries include:
Line 49: Line 47:
These libraries allow developers to build complex applications with minimal effort, while taking full advantage of FullJS's high-performance runtime and system integration.
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]]

Revision as of 16:01, 30 August 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

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: