Learn Ballerina
Ballerina is a comprehensive language that is easy to grasp for anyone with prior programming experience. Let's start learning Ballerina.
Learn the language
Featured scenarios
Write a RESTful API with Ballerina
Use Ballerina constructs to create RESTful APIs.
Write a gRPC service with Ballerina
Write and invoke a simple Ballerina gRPC service.
Learn the platform
Source code & dependencies
Basics of projects, packages, and modules.
References related to Ballerina Packages.
Details of declaring and managing dependencies and using the local repository.
Best practices to follow when formatting Ballerina code.
Test, debug, and document the code
Details of writing automated tests using the built-in test framework.
Details of tooling support for troubleshooting Ballerina applications.
Generate documentation for the code.
Run in the cloud
Generating cloud deployment artifacts.
AWS Lambda and Azure functions.
Configure and observe
The language support for configurability.
Basics of the observability functionalities that are provided for Ballerina programs.
Java interoperability
Calling Java code from Ballerina.
Instructions on the supoorted Java interoperability.
Native support
[Experimental] Build a native executable
Building a GraalVM native executable from Ballerina.
Ballerina Central
Publish packages to Ballerina Central
Details of publishing your library package to Ballerina Central.
Ballerina tooling
Details of the Ballerina Visual Studio Code extension.
Details of the Read-Evaluate-Print Loop (REPL) for Ballerina.
Details of the Ballerina OpenAPI tool.
Details of the Ballerina GraphQL tool.
Details of the Ballerina AsyncAPI tool.
Details of the Ballerina strand dump tool.
Details of the CLI commands of the bal tool.