See why the support for a visual representation of the development experience lays the foundation for designing the syntax and semantics of the Ballerina programming language.

In today’s cloud era, you need technologies that can model distributed systems in a more developer-friendly way. The feature-rich development experience of the Ballerina Visual Studio code extension brings in graphical representations for designing the architecture of your applications, designing and editing your services, modeling how concurrent execution flows and how multiple actors interact with each other, and mapping the data conversions within your applications.

Ballerina provides the flexibility of a general-purpose language with the capabilities to model and visualize solutions based on higher-level abstractions derived from the graphical representations provided by its developer tooling features as described below.

Architecture View

The Architecture View of the Ballerina VS Code extension provides a holistic picture of the components and their interactions in Ballerina projects purely based on the source code. It provides several types of diagrams, namely, the Service Diagram Level 1 (Services), Service Diagram Level 2 (Resources), type diagram, and composition diagram to explore and ease the designing of the application.

Service Designers

The interactive visual interfaces provided by the Ballerina VS Code extension enable the designing and developing of HTTP and GraphQL services via graphical representations with a limited understanding of the underlying syntax and configurations.

Sequence Diagram View

The Sequence Diagram View provided by the Ballerina VS Code extension allows you to visualize a program written in Ballerina as a sequence diagram. The diagram will display the logic and network interaction of a function or a service resource. You can view and edit these diagrams using the Ballerina VS Code extension.

Data Mapper

The Ballerina VS Code extension supports creating and updating the data mappings to convert data between the corresponding input and output types. The user interface eases performing data integration, migration, and transformation elements of the data mapping process via the graphical representation of the source code.