<mediawiki xmlns="http://www.mediawiki.org/xml/export-0.11/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mediawiki.org/xml/export-0.11/ http://www.mediawiki.org/xml/export-0.11.xsd" version="0.11" xml:lang="en">
  <siteinfo>
    <sitename>FullJS</sitename>
    <dbname>mediawiki</dbname>
    <base>https://docs.fulljs.eu/index.php/Introduction</base>
    <generator>MediaWiki 1.39.13</generator>
    <case>first-letter</case>
    <namespaces>
      <namespace key="-2" case="first-letter">Media</namespace>
      <namespace key="-1" case="first-letter">Special</namespace>
      <namespace key="0" case="first-letter" />
      <namespace key="1" case="first-letter">Talk</namespace>
      <namespace key="2" case="first-letter">User</namespace>
      <namespace key="3" case="first-letter">User talk</namespace>
      <namespace key="4" case="first-letter">FullJS</namespace>
      <namespace key="5" case="first-letter">FullJS talk</namespace>
      <namespace key="6" case="first-letter">File</namespace>
      <namespace key="7" case="first-letter">File talk</namespace>
      <namespace key="8" case="first-letter">MediaWiki</namespace>
      <namespace key="9" case="first-letter">MediaWiki talk</namespace>
      <namespace key="10" case="first-letter">Template</namespace>
      <namespace key="11" case="first-letter">Template talk</namespace>
      <namespace key="12" case="first-letter">Help</namespace>
      <namespace key="13" case="first-letter">Help talk</namespace>
      <namespace key="14" case="first-letter">Category</namespace>
      <namespace key="15" case="first-letter">Category talk</namespace>
    </namespaces>
  </siteinfo>
  <page>
    <title>Introduction</title>
    <ns>0</ns>
    <id>2</id>
    <revision>
      <id>111</id>
      <parentid>110</parentid>
      <timestamp>2025-09-01T15:42:36Z</timestamp>
      <contributor>
        <username>Guttmann</username>
        <id>1</id>
      </contributor>
      <comment>/* Backend */</comment>
      <origin>111</origin>
      <model>wikitext</model>
      <format>text/x-wiki</format>
      <text bytes="3757" sha1="ip53i3wo7sj7jd3vdw0w4yqwa7i2nqm" xml:space="preserve">'''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 &amp; 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:
* [[Getting Started]]
* [[Architecture]]
* [[Libraries]]
* [[Tutorials]]</text>
      <sha1>ip53i3wo7sj7jd3vdw0w4yqwa7i2nqm</sha1>
    </revision>
  </page>
</mediawiki>
