News & Views

Ballerina boosts API productivity

The Swan Lake version 2201.0.0 release of Ballerina open-source language is helping developers rapidly build, integrate, and deploy services and APIs in the cloud.

Developed by WSO2 (
https://wso2.com), Ballerina is a 100% open-source project with all parts of the project developed openly at https://github.com/ballerina-platform.  Already downloaded by nearly 10,000 developers worldwide, Ballerina is the only modern cloud-native programming language that provides features for easily using, combining and creating network services for the cloud.

Uniquely, Ballerina provides a bidirectional mapping of sequence diagrams and code, meaning the diagram is the code, and the code is the diagram.  As a result, developers can easily switch between working in a pro-code or low-code view of a program as needed to maximise their productivity.  At the same time, Ballerina removes much of the complexity in developing enterprise-grade cloud-native applications, APIs and microservices by providing a first-class way to represent network interactions while streamlining many functions around data usage, configurations, cloud deployments, and more.

“The move to cloud-native applications – which are inherently integrations of services, data, transactions and processes – has rendered many older programming languages obsolete,” says Dr Sanjiva Weerawarana, founder of the Ballerina project and founder and CEO, WSO2.  “With our Ballerina Swan Lake release now in general availability, development teams for the first time have a modern programming language that simplifies cloud-native app development and integration, facilitates collaboration, and enables developers to rapidly innovate new digital products and services.”

“Ballerina provides an integration-centric approach to building cloud-native applications that leverages an HTTP-centric programming model,” adds Jason Bloomberg, president of industry analyst firm Intellyx.  “As a result, Ballerina shifts integration complexity away from protocol-centric challenges to the broader architectural considerations that drive the creation of high-quality, scalable cloud-native applications.”

The Swan Lake release extends the benefits of Ballerina to the global Microsoft Visual Studio (VS) developer community with the significantly expanded functionality of its Ballerina VSCode plugin.  Now developers can use the widely adopted VS Code source-code editor while taking advantage of Ballerina to simultaneously edit programs both graphically and textually.  The Ballerina VSCode plugin also features intelligent code completion for the Ballerina language via the Ballerina Editor, syntax highlighting and debugging.

The plugin complements Ballerina’s intuitive syntax for developing APIs and different types of services, including RESTful, GraphQL, WebSocket and gRPC services. Also included are seamless support for JSON, XML and ProtoBuf; powerful constructs for working with data; and automatic concurrency control to support enterprise-grade applications. Configuration management is an inherent feature of the language allowing DevOps teams to securely inject environment-specific configurations into Ballerina programs. Additionally, Ballerina observability enables developers to understand the execution and performance impact introduced by the Ballerina program.  Collectively, Ballerina’s capabilities enable development teams to create and integrate resilient, secure, high-performance APIs and microservices that are easy to maintain and iterate on.

Ballerina also comes with deployment abstraction capabilities and supports the generation of Docker and Kubernetes artefacts from code without additional configuration . This simplifies the experience of developing and deploying Ballerina code in the cloud. Code-to-cloud features build the containers and required artefacts by deriving the required values from the Ballerina code to deploy an enterprise’s code into different cloud platforms, such as Amazon Web Services (AWS) and Microsoft Azure.

“I am very impressed with Ballerina’s ideas. I would call this language, ‘Java for modern, agile microservices’,” says Kirill Keker, a solution architect in the Core Team, MVideo. “Thank you for that!”