Let’s learn Ballerina!
Ballerina is meant to be a quick start for anyone with prior programming experience. Let’s get you going on to happy dancing!
Get started
Download a Ballerina installer and install Ballerina on your machine.
Download BallerinaDistributions are available for
Linux, OS X, and Windows.
For more information, see Installing Ballerina.
Set up your IDE: Download the VS Code or IntelliJ IDEA plugin from their marketplaces and install it.
For instructions, see VS Code or IntelliJ IDEA.
Take a Quick Tour using your IDE to run a simple hello world service and call a web API.
Learn about all the CLI commands you can use in Ballerina.
For more information, see the CLI Commands.
Learn the language and the libraries
Check out the API docs of the “batteries-included” standard library.
The Standard LibraryGet an in-depth understanding of the language and its design.
Language SpecificationHow To’s
Structuring Ballerina Code
How to use Ballerina to fetch, build, create, version, search, and install Ballerina modules with repositories that are local and remote.
Documenting Ballerina Code
How to document your Ballerina programs and modules in order to generate API documentation.
Testing Ballerina Code
How to write testable Ballerina code using its built-in test framework, which provides a set of building blocks to help write tests.
Running and Deploying Ballerina Services
How to configure your runtime services and generate deployment artifacts for various targets including Docker and Kubernetes.
Publishing Modules on Ballerina Central
How to share your local modules with the Ballerina community using Ballerina Central.
Observing Ballerina Services
How to use logging, metrics, and tracing to observe Ballerina services.
Writing Secure Ballerina Code
How to write secure Ballerina services, while demonstrating different security features and controls available within Ballerina.
Ballerina Style Guide
How to maintain a standard coding style among the Ballerina community.
Extending Ballerina
How to add additional compile-time behavior using compiler extensions and annotations.
Generating Ballerina Code for Protocol Buffer Definitions
How to generate Ballerina connector and service code for your existing Protocol Buffer definition.
Developing Ballerina Services Using an OpenAPI Documentation
How to develop a restful API in Ballerina which is documented in an OpenAPI contract.
Keeping Ballerina Up to Date
How to keep your Ballerina installation up to date with the latest patch and minor releases.