Ballerina Guide

curl -fsSL https://dist.ballerina.io/downloads/install.sh | bash Use the MSI installer.

bal test myproject/ ├── Ballerina.toml # module metadata, dependencies ├── main.bal # entry point ├── modules/ │ └── auth/ # submodule │ ├── Module.md │ └── auth.bal ├── tests/ # test files │ └── main_test.bal └── target/ # build output Create a new project:

(inside a function):

type Person record string name; int age; string email?; // optional field ; Person p = name: "Alice", age: 30 ; Arrays & Maps int[] numbers = [1, 2, 3]; map<string> colors = red: "#FF0000", green: "#00FF00" ; 5. Services & Listeners A service is a collection of remote methods (resources) attached to a listener (e.g., HTTP listener). HTTP Service Example import ballerina/http; service /api on new http:Listener(9090) resource function get greeting(string name) returns string return "Hello, " + name; ballerina

import ballerina/http; import ballerina/io; public function main() returns error? http:Client client = check new ("https://jsonplaceholder.typicode.com"); json response = check client->get("/posts/1"); io:println(response);

function task2() returns string return "done";

function task1() returns int return 42;

Call:

import ballerina/test; @Test function testAddition() int result = 2 + 2; test:assertEquals(result, 4);

Ballerina uses strands – lightweight threads managed by the runtime. Use start , wait , and isolated functions. curl -fsSL https://dist

Run tests:

Run:

bal --version A Ballerina program is organized into modules (like packages). Each .bal file contains imports, functions, services, and listeners. Hello World import ballerina/io; public function main() io:println("Hello, World!"); HTTP Service Example import ballerina/http; service /api on