/ballerina

Ballerina is a new programming language for integration built on a sequence diagram metaphor.

Primary LanguageBallerinaApache License 2.0Apache-2.0

Ballerina daily build Trivy GitHub (pre-)release GitHub (Pre-)Release Date GitHub last commit License codecov Twitter Follow

The Ballerina programming language

Ballerina is an open-source cloud-native programming language optimized for integration. It is developed and supported by WSO2.

With Ballerina, you could easily develop microservices, API endpoints and integrations, and any other application for the cloud. Additionally, Ballerina has all the general-purpose functionalities you could expect from a modern programming language.

With Ballerina's compiler-level built-in support for widely used data types such as JSON and XML, your focus on handling structured data, network service interactions, and dealing with concurrency is made much more effective.

Providing and consuming services

It has inherently concurrent first-class language constructs for providing and consuming services.

Sequence diagrams

Sequence diagram based graphical view shows the most fundamental aspect of the semantics of a network distributed application.

Structural typing

It allows for looser coupling between distributed components and eliminates the friction of data binding.

Metadata

Extensible metadata enables easy integration of Ballerina programs with cloud platforms. You could directly generate Docker and Kubernetes artifacts straight away from the source code.

Download and install

For instructions on downloading and installing, see Ballerina Downloads.

Installation options

For more installation options, see Installation options.

Get the VS Code extension

Try out Ballerina's development capabilities using the Ballerina extension for Visual Studio Code.

Get started

You can use the following resources to learn Ballerina.

Report issues and security flaws

Tip: If you are unsure whether you have found a bug, search the existing issues in the GitHub repo and raise it in the Ballerina Discord or Stack Overflow.

Contribute to Ballerina

As an open-source project, Ballerina welcomes contributions from the community. To start contributing, read these contribution guidelines for information on how you should go about contributing to our project.

We look forward to receiving your contributions.

License

Ballerina code is distributed under Apache license 2.0.

Useful links

  • Chat live with us on our Discord community.
  • Post technical questions on the Stack Overflow with the #ballerina tag.
  • For more details on how to engage with the community, see Community.