Getting Started with ESDK

Welcome to the Ecxo Softwares Development (ESD) Suite! This framework is a cross-platform desktop application engine that bridges C++, Python, and JavaScript.

Architecture Overview

The ESDKis built on a three-layer architecture. C++ Core Engine: Manages the application lifecycle, windowing, and webview integration, as well of the lightweight bridging between frontend and python backend. Python: The python middleground. It isn't deeper than the third layer but it is considered the middle layer because it needs the compiler in order to be called from the frontend. The third layer, and only the third layer, can call the first layer (C++ Engine) directly, which allows for advanced engine control. Frontend: Built with vanilla web technologies (HTML/CSS/JS) and rendered using a webview ran on a local server on the user's machine. The frontend can only call the python layer, and not the third layer which makes it impossible to access the third layer directly from the frontend.

Directory Structure

  • /engine/ - Core C++ runtime code (Entry point, window creation, webview integration).
  • /server/ - Python backend logic. Treated as private during compilation.
  • /ui/ - User interface code (HTML/CSS/JS entry points).
  • /public/ - Shared assets accessible by all layers.
  • /private/ - Restricted code (C++, JS, Python) accessible only via secure imports.
  • /scripts/ - Utility scripts for development and building.

Build Requirements

To build the prototype, you need: - CMake (3.14+) - A C++ Compiler (MSVC on Windows, Clang/GCC on macOS/Linux) - Python 3 (installed on the system with development headers/libs)

Setting Up the Prototype

1. Run Setup

You have to install all the dependencies, but don't worry, the setup.py script does everything for you:

python scripts/setup.py

2. Build

To compile the C++ engine layer, run the build.py script:

python scripts/build.py

3. Run the Application

Start testing the program by running the dev.py script, which will launch the application in development mode:

python scripts/dev.py

Next Steps

Now you are ready to start developing your very own software using the ESDK! The application will launch with a simple UI, and you can begin customizing the frontend and backend logic as needed.

For more detailed documentation on how to use the API, integrate AI features, and customize the UI, please refer to the API Documentation in the documentation folder of this project or visit the ESDK's Website.