Ballerina

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:

worker w2 returns int return 20;

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);

int res1 = wait f1; string res2 = wait f2; ballerina

(inside a function):

bal run hello.bal Variables & Types int age = 30; string name = "Alice"; boolean active = true; float pi = 3.14; decimal precise = 10.0d; byte[] data = [1, 2, 3]; json j = "name": "Bob" ; xml x = `<person>John</person>`; Optional Types & Error Handling Ballerina uses optional types ( T? ) and error union types ( T|error ).

return a / b;

function task1() returns int return 42;

worker w1 returns int return 10;

resource function post user(@http:Payload Person p) returns json return id: 123, name: p.name ; bal test myproject/ ├── Ballerina

brew install ballerina

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

Here’s a comprehensive guide to , a modern, open-source programming language designed for cloud-native application integration and microservices development. 1. What is Ballerina? Ballerina is a graph-oriented, compiled language that treats distributed system integration as a first-class concern. It provides built-in support for network interactions, data transformations, and service resilience, making it ideal for APIs, integrations, and microservices. return a / b; function task1() returns int

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;