The Struktural Studio

The Struktural Studio is the primary visual interface for application builders. It abstracts the complexity of writing raw JSON and C# code, providing a streamlined environment for defining data models, designing user interfaces, and orchestrating workflows.

Studio vs. File System

It is crucial to understand that the Studio does not directly write to the live execution memory. Instead, it operates on a Draft State.

When you make changes in the Studio (e.g., adding a field or moving a UI component), those changes are cached. The engine continues to run the previous "live" version of the application.

When you click "Save All & Reload", the Studio serializes the Draft State and commits it to the physical file system within the tenant's workspace (Apps/{appId}/Definitions/). Specifically, it updates:

Immediately after writing to disk, the Engine Bootstrapper initiates a Hot Reload. It dynamically compiles the new C# POCOs, applies Entity Framework Core migrations to the database (if auto-migration is enabled), and swaps the AssemblyLoadContext without dropping the Kestrel server process.

Studio Modules

The Studio is divided into several logical modules:

  1. Data Schema: The visual ERD (Entity Relationship Diagram) builder. Used for creating entities, defining fields, and establishing foreign key relationships.
  2. Views: The layout designer. Offers a drag-and-drop canvas for composing Forms, Grids, and other view topologies.
  3. Menu Editor: A hierarchical tree builder to organize how views are presented in the application's sidebar.
  4. Code (Scripts & Custom Views): An integrated Monaco Editor (similar to VS Code) featuring Roslyn-powered IntelliSense for writing C# business logic and custom Vue 3 components.
  5. Multilanguage: A key-value grid editor for translating business terms across different languages.
  6. Settings: Configuration panels for infrastructure integrations, including Database connections, Key Vaults, and External Identity Providers (SSO).