Glossary

Below is a glossary of key concepts and components in Codeflow. It should give a high-level overview of Codeflow concepts and components and will be helpful during the rest of the documentation.

Name Description
Designer Codeflow designer is a free and open source editor that lets you create and edit Codeflow projects.
Engine Engine is a free and open source runtime environment for executing Codeflow programs.
Flows Flows are the building blocks in Codeflow. A flow takes an input and gives back an output. Internally flows are stored in plain JSON format and can be edited directly. But for most practical purposes, flows are opened and edited via the designer.
Steps Individual node in a flow is called as a step. A step takes an input and returns an output. A flow is composed of multiple such steps connected through transitions. A step is created when a module is dragged & dropped from the packages library.
Transitions Transitions are the connections between two steps. Transitions can have optional, dynamic rules that can decide the control flow of the program at the runtime.
Modules Modules are the reusable blocks of logic which becomes a step when dropped into the flow canvas. Modules are bundled together as packages and available under the packages panel in the designer. Modules are typically created by either publishing flows under a package. Many modules are also created using native JavaScript.
Standard packages Standard packages or Standard library are a set of packages that are available in Codeflow by default.
Core package Core package is part of the standard packages and comes with a basic set of modules that form the core of the language, like Build object, Iterate, throwError, End etc.
Community packages Community packages are packages installed from the package manager. Community packages are typically published and maintained by community members.
Expressions Expressions provide the necessary glue to link multiple, loosely coupled modules together. Expressions are powerful enough to perform complex data mappings to convert or merge output from multiple sources into the input of a step.
Start & End Start and end are two special steps that are present by default when you create a new flow. The input and output data structure of a flow is determined by the schema provided in start and end steps.
Schema Codeflow uses a subset of JSON schema to define its type. Every module's input and output data structure are defined using the schema. The designer comes with a built-in schema editor to create and edit schema visually.

What's next?

Tutorial1 - Hello world