Introduction: Difference between revisions

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


= Application Server =
== Backend ==
The FullJS backend offers a modular, secure, and scalable foundation for running server-side services.
The application server 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 ==
= Built-In Libraries =
FullJS includes built-in JavaScript libraries to simplify development tasks.
FullJS includes a set of built-in JavaScript and native libraries to simplify common development tasks.
Examples:
Examples of core libraries include:
* **File system access (`fs`)** – Fully asynchronous I/O with Linux `io_uring`.
* File system access (`fs`) – Fully asynchronous I/O powered by Linux `io_uring` for high-performance file operations.
* **Thread management (`Worker`)**Efficient concurrent task handling.
* Thread management (`Worker`) – Manage concurrent tasks efficiently.
* **Networking (`Socket`, `http`)**Server and client network capabilities.
* Networking (`Socket`, `http`) – Build robust server and client network applications.
* **GUI elements for web apps** – Buttons, icons, dialogs, and other widgets.
* GUI elements for web-based apps – Buttons, icons, dialogs, and other essential widgets.
* **Charts and data visualization (`ChartJS`)** – Visualize data within applications.
* Charts and data visualization (`ChartJS`) – Visualize data directly in your application.
* **Logging utilities** – Structured logging with configurable levels.
* 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 ==
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.


== See Also ==
= Web IDE =
A web-based Integrated Development Environment (IDE) for creating and managing applications.
* [[Node.js]]
It enables development of both '''client-side''' and '''server-side''' code.
* [[V8 JavaScript engine]]
While the backend requires Linux, client-side applications run in any modern browser (e.g., Google Chrome), making your apps accessible to everyone.
* [[KDE Plasma]]

* [[Systemd]]
= Get Started =
To begin using FullJS, explore the following pages:
* [[Getting Started]]
* [[Architecture]]
* [[Libraries]]
* [[Tutorials]]

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: