Core Concepts and Terms

With Heisenware, you build and run custom applications that collect, connect, process, store, and visualize data. Understanding the following concepts and terms is key to mastering the platform.

Core Concepts

This section explains the fundamental ideas and philosophies behind the Heisenware platform.

Our Low-Code Philosophy

Heisenware is designed to balance the speed of no-code platforms with the power of traditional coding. We abstract away repetitive and complex code, but unlike purely no-code systems, we provide deep flexibility to create custom logic and integrate specialized software. This approach allows for rapid development without sacrificing the power needed for complex industrial applications.

The Heisenware Object Model

Heisenware's logic is built on a simple and powerful Object-Oriented model. Understanding this is key to building anything on the platform.

Think of it as a set of reusable blueprints and the specific things you build from them.

  • A Class is a generic blueprint. For example, Heisenware provides an Email Class, which contains all the general logic needed to handle emails.

  • An Instance (or Object) is a specific, working copy you create from that Class. For example, using the Email Class, you would create an instance to represent your specific email server configuration.

  • A Function (or Method) is what these blueprints and objects can do. The key is understanding what is performing the action:

    • Static Functions are general utility actions that belong to the Class itself. You use a static function when you don't have a specific instance yet. For example, you use the create function on the Email Class to get a new email configuration instance by providing your server details.

    • Member Functions (or Methods) are actions that a specific Instance can perform using its own unique data. Once you have your email instance, you use its send function to send a message. The send function is a member function because it belongs to your specific instance and uses your configured server settings to do its job.

Drag and Drop

Drag and drop is the primary way you interact with the App Builder. It is the core concept used to build user interfaces, construct application logic in the flow builder, and connect all the different elements of your app to one another.

Event-Driven Architecture

Applications built in Heisenware are event-driven. This means the application logic doesn't run in a linear, top-to-bottom script. Instead, it "listens" for and reacts to specific events. These can be user actions (like a button click), a database update, or a timer finishing. This reactive model is central to building interactive and responsive applications.

Glossary of Terms

A quick-reference list of specific terms used across the Heisenware platform.

Term
Description

Agent

An executable program deployed in a private network to establish a secure connection with a system in that network.

App

A stand-alone software application built and published with Heisenware. By nature, all Heisenware apps are Progressive Web Apps (PWAs).

App Builder

The visual, low-code development environment where you design, build, and test your applications.

App Manager

The administrative dashboard of the Heisenware platform where you manage your workspaces, apps, members, and integrations.

Application Logic

The part of an app that handles data processing and behavior, consisting of integrations, data storage solutions, and flows.

Build time

The phase when a developer is actively designing, configuring, and assembling an application in the App Builder.

Code Adapter

The piece of custom code a developer writes to wrap around existing software libraries, making them accessible to the Heisenware platform.

Command

An action that causes a temporary, non-persistent change to a widget's state, such as highlighting it.

Deployment

The process of publishing a new version of an app, making it live and accessible to end-users.

Event

A trigger that the application can respond to, such as a user clicking a button, a database update, or a timer finishing.

Flow

A sequence of connected functions in the application logic that defines how data is processed and passed between different steps.

Integration

A configured, secure entry point that allows an external system (like an Agent or a Code Adapter) to send data to your Heisenware account.

JavaScript expressions

A feature allowing the use of standard JavaScript expressions to perform simple data transformations or calculations on the fly.

JSON (JavaScript Object Notation)

A standard data format supported in Heisenware for structuring and exchanging data.

JSONata

A powerful query and transformation language available within Heisenware to reshape complex data from one format to another on the fly.

Member

A user who has access to your Heisenware account to build and manage applications, as distinct from an end-user of a finished app.

Property

A setting or value of a widget that can be read or changed by the application logic and persists over time (e.g., the text inside an input field).

PWA (Progressive Web App)

An application that runs in a web browser but offers a user experience similar to a native mobile or desktop app, including fast performance and no installation requirement.

Runtime

The phase when a deployed application is live and actively running. During runtime, the app responds to user input and executes its logic.

Tag

A named and exportable version of a Heisenware app.

Template

A specific tag that serves as a starting point or blueprint for creating a new app.

User Interface (UI)

The visual part of an app that an end-user interacts with to view data, input data, and trigger actions.

Widget

A specific element of the user interface used to display data (e.g., a chart) or collect user input (e.g., a button or text field).

Workspace

A container within your account used to organize related apps, members, and integrations.

YAML

A human-readable data format often used for writing configuration files. In Heisenware, it is used to configure functions.

Last updated