This page serves as brief description of the general architecture of Appsemble and how each component interacts with each other.
Appsemble is split up in different components that communicate with each other in order to create and display apps.
These components are:
The app component handles everything that is necessary in order to render apps as well as submitting new data. Apps are uploaded to the database using the Appsemble editor after which it can be displayed by retrieving the app definition from the database.
The app definition contains information about how an app should be built, such as resource definitions, security, pages and blocks. Depending on the configuration apps may communicate with either the Appsemble server or external servers to fetch and submit data, defaulting to the Appsemble server.
The editor component allows users to manage their apps via an interactive environment. Apps can be
edited by making changes to the app definition defined in
YAML, which in turn can be previewed
before submitting it to the server. It does this by communicating directly with the app component.
The editor itself does not communicate with anything other than the Appsemble server on its own,
though apps in the preview panel can.
The server component serves as the central point of connection between every component. It hosts the app and studio components as well as the API, which is used to interact with the database.
The CLI allows developers to communicate with the Appsemble server in order to register new blocks, upload new versions of an existing blocks, or upload themes for entire organizations.
The SDK provides the link between blocks and apps, it provides the code within blocks to receive information and context about the app it’s being displayed in, with information such as available resources and parameters.
Within apps blocks are contained in their own environments, disallowing them from communicating with each other in order to prevent conflicts.