Learn Ballerina

Ballerina is a simple programming language whose syntax and platform address the hard problems of integration. It is a general purpose, concurrent, transactional, statically and strongly typed programming language with both textual and graphical syntaxes. Its specialization is integration - it brings fundamental concepts, ideas and tools of distributed system integration into the language and offers a type safe, concurrent environment to implement such applications. These include distributed transactions, reliable messaging, stream processing, workflows and container management platforms.


Getting Started

Getting Started includes instructions on how to download Ballerina and install its tools. It also includes system requirements and uninstall instructions.

Learning Ballerina

Quick Tour

The Quick Tour is the fastest way to try Ballerina. Take this dancer for a twirl and a spin!

Ballerina by Example

Ballerina by Example teaches you the Ballerina language incrementally with commented examples that cover every nuance of the syntax.

Ballerina by Guide

Ballerina by Guide are long form examples that showcase how to build different types of integrations using a complete development lifecycle including IDE configuration, packages, dependencies, coding, unit testing, deployment, and observability.

Tools and IDEs

The VS Code and IntelliJ IDEA extesnions are the Tools & IDEs that are currently supported by Ballerina.

How to Structure Ballerina Code

How to Structure Ballerina Code demonstrates the development of a Ballerina project and shows how to use Ballerina to fetch, build, create, version, search, and install Ballerina modules with repositories that are local and remote.

How to Test Ballerina Code

How to Test Ballerina Code provides information on the set of building blocks used to help write tests and a set of tools used for testing.

How to Document Ballerina Code

How to Document Ballerina Code provides guidelines on documenting your Ballerina programs and modules in order to generate API documentation.

How to Write Secure Ballerina Services

How to Write Secure Ballerina Services provides guidelines on writing secure Ballerina services, while demonstrating different security features and controls available within Ballerina.

How to Publish Ballerina Modules

How to Publish Ballerina Modules provides settings and commands you need to share your local modules with the Ballerina community.

How to Run and Deploy Ballerina Services

How to Deploy and Run Ballerina Services provides an overview of how to configure your runtime services and to generate deployment artifacts for various targets including Docker and Kubernetes.

How to Observe Ballerina Services

How to Observe Ballerina Services instructs you on how to use logging, metrics, and tracing to observe Ballerina services.

How to Extend Ballerina

How to Extend Ballerina provides instructions on how developers and third parties can extend the behavior of Ballerina and collate these customizations for use by others.

Reference Documentation

Module and API Documentation

The API Documentation describes the native functions in Ballerina that you can use in your programs.

Language Specification

The Language Specification is the document that defines Ballerina programming language and will be useful to those who wish to understand, evaluate, or start using the language.

Ballerina Streaming Guide

The Ballerina Streaming Guide provides detailed information on Ballerina Streaming concepts and its capabilities. This includes Ballerina streaming language syntax, explanations, and sample queries as well.

Ballerina Style Guide

The Ballerina Style Guide provides guidelines to maintain a standard coding style among the Ballerina community.


Frequently Asked Questions about Ballerina.


The Events page consists of upcoming webinars, meetups, and conferences about Ballerina.

Refer to the Past Events page to view videos and slides from conferences and webinars.

Articles and Videos

  1. Conceiving Ballerina
  2. How Ballerina is Different From Other Programming Languages
  3. Ballerina Dances Onto the Programming Stage
  4. Ballerina Making Sequence Diagrams Work
  5. Ballerina Thinking About Names
  6. A Year of Ballerina
  7. Integration Versus Integration Programming
  8. Ballerina Compiler Design
  9. Ballerina Runtime Evolution
  10. All You Need to Know About Native Client Connectors
  11. Plug Custom Native Functions Into Ballerina
  12. Identifier Literal Support in Ballerina
  13. Any Type Support in Ballerina
  14. Data Integration with Ballerina
  15. Ballerina SQL Connector - Connecting to a Database
  16. Ballerina SQL Connector - Performing Database Operations
  17. Introduction to Data Integration with Ballerina
  18. Write Integration Tests for Ballerina Using TestContainers
  19. Connect with Kafka Brokers Using Ballerina
  20. Ballerina: Concurrency Done Right!
  21. Ballerina Microservices Programming Language: Introducing the Latest Release and “Ballerina Central”
  22. Generate Kubernetes YAML Right From Your App Code