Introduction: Difference between revisions
(Created page with "= FullJS Documentation = '''FullJS''' is a comprehensive solution to develop and run applications using JavaScript. It is designed to provide everything you need in one ecosystem, integrating three core components: == JavaScript Runtime == A multi-threaded, event-driven JavaScript runtime built on the '''V8 JavaScript engine'''. It supports multiple architectures, including '''amd64''', '''arm''', and '''arm64''', ensuring flexibility and performance across platfor...") |
|||
| (30 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 = |
|||
| ⚫ | |||
'''FullJS''' is a comprehensive solution to develop and run applications using JavaScript. |
|||
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. |
|||
It is designed to provide everything you need in one ecosystem, integrating three core components: |
|||
= Application Server = |
|||
| ⚫ | |||
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'''. |
|||
It combines modern architectural principles with deep Linux integration to deliver enterprise-grade capabilities. |
|||
It supports multiple architectures, including '''amd64''', '''arm''', and '''arm64''', ensuring flexibility and performance across platforms. |
|||
| ⚫ | |||
| ⚫ | |||
* 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. |
|||
* Path manipulation |
|||
* JWT-based authentication – Secure, standard-compliant authentication mechanism for microservices. |
|||
* GUI elements |
|||
* Built-in user management – Centralized user handling for authentication. |
|||
* Charts |
|||
* ABAC (Attribute-Based Access Control) – Fine-grained permission management based on user attributes and policies. |
|||
* And more |
|||
* 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. |
|||
| ⚫ | |||
| ⚫ | |||
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. |
A web-based Integrated Development Environment (IDE) for creating and managing applications. |
||
It |
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: |
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: