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 The designer is the de-facto Integrated Development Environment (IDE) for Codeflow that lets you create, edit and debug flows and other resources.
Engine The engine is the runtime environment for executing Codeflow programs. The designer ships with an embedded engine, but the engine can also be installed independently, typically in non-development environments.
Flows Flows are the building blocks in Codeflow. A flow takes an input, does some processing and returns 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 A flow is composed of multiple nodes connected through transitions. An individual node in a flow is called as a step. Every step is a reference to a module and is created when a module is dragged & dropped from the library into the flow canvas.
Transitions A transition is visualized as arrows that connect the steps. The transitions that goes out from a step determines what all steps would be executed next. Transitions can have different types and rules (conditions) that can be used to perform complex control flow 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 mapper, iterate, throwError, end etc.
Community packages Community packages are packages installed from the package manager. Community packages are typically published and maintained by the community members.
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.
Expressions Expressions provide a way to map and combine output from multiple steps. Expressions are powerful enough to perform complex data mappings to convert or merge output from multiple sources into the input of a step.

What's next?

Tutorial1 - Hello world