Swan Lake Beta2 is here.

Learn Ballerina

Ballerina is a comprehensive language that is easy to grasp for anyone with prior programming experience. Start learning with the material below.

Getting Started

Setting Up Ballerina

Setting up the Ballerina development environment.

Hello World

Writing your first Ballerina program and creating your first Ballerina package.

Learn by Examples

A series of guided examples to learn the language.

Language Walkthrough

A video series, which explains the language and its reference slide deck.

Visual Studio Code Extension

Details of all the features of the Ballerina Visual Studio Code extension.


Why Ballerina

Why you should use Ballerina.

Organizing Ballerina Code

Basics of projects, packages, and modules.

Testing Ballerina Code

Details of writing automated tests using the built-in test framework.

Generating Code Documentation

The usage of the bal doc CLI command.

Making Ballerina Programs Configurable

The language support for configurability.

Observing Ballerina Programs

Basics of the observability functionalities that are provided for Ballerina programs.

Running Ballerina Programs in the Cloud

The cloud offerings for running Ballerina programs.

Managing Dependencies

Details of declaring and managing dependencies and using the local repository.

Publishing Packages to Ballerina Central

Details of publishing your library package to Ballerina Central.

Calling Java Code from Ballerina and Vice Versa

Instructions on the supported interoperability features.


Reference by Examples

A series of examples that serve as a reference guide for language constructs, concepts, and standard library modules.

Library Documentation

Ballerina library API documentation.

CLI Documentation

Details of all the CLI commands of the bal tool.

Platform Specifications

Details of the Ballerina language specifications and proposals.

Style Guide

Best practices to follow when formatting Ballerina code.

Language Introduction

Presentation slides on the Ballerina language that you can use to talk about the language.

In the creation of Ballerina, we were inspired by so many technologies. Thank you to all that have come before us (and forgive us if we missed one): Java, Go, C, C++, D, Rust, Haskell, Kotlin, Dart, TypeScript, JavaScript, Python, Perl, Flow, Swift, Elm, RelaxNG, NPM, Crates, Maven, Gradle, Kubernetes, Docker, Envoy, Markdown, GitHub and WSO2.

Cookie Policy

This website uses cookies so that we can provide you with the best user experience. Read our Cookie Policy to find out more.

If you wish to disable cookies you can do so from your browser.

I Understand