2021 Issue 2

This is a recurring newsletter of content around Ballerina and related technology topics such as integration, microservices, distributed systems, and cloud computing.

Issue #2 - July 13, 2021

This is a recurring newsletter of content around Ballerina and related technology topics such as integration, microservices, distributed systems, and cloud computing.
Not a subscriber yet? Sign up here.

Swan Lake Beta Release

We released the first beta of Ballerina Swan Lake in June, and the second beta was just released last week. The beta release represents a full preview of what Ballerina Swan Lake (our next major release after Ballerina 1.0) will include. You can read about all the major changes and improvements in our announcement.

The Ballerina language has come a long way since we released Ballerina 1.0 in 2019. Our goal is to simplify building and deploying cloud native apps. The Swan Lake release does this with a fundamentally improved syntax for developing services and APIs, JSON support, and built-in concurrency among many other compelling features. Darryl Taft of The New Stack explains the significance of the Swan Lake release in this article based on his interview with Eric Newcomer, chief technology officer of WSO2, and Asanka Abeysinghe, chief technology evangelist at WSO2.

The beta release also marks a turning point in terms of stability. Before the beta, Ballerina went through many changes frequently, but now the language is stable. This also means that the Ballerina code you write today will be compatible with all the upcoming releases of the Swan Lake version.

As with any beta release, we are looking for user feedback to keep improving the user experience. So, please try the beta and give us your feedback via our Slack channel.

Revamped Ballerina Website

In case you haven’t noticed, we are reorganizing the website. We want to make the website more accessible to a wider audience, particularly developers who know nothing about Ballerina. The site will continue to go through incremental changes to make it easier to find information.

Ballerina by Example (BBEs) was the first to go through a complete overhaul. It’s a collection of code examples that illustrate important Ballerina features and concepts. If you are new to Ballerina and learn better from examples, our new and improved Learn by Examples is for you. These examples are meant to be followed sequentially, and they also highlight the capabilities of Swan Lake effectively. While this change helps serve newcomers with different backgrounds to learn Ballerina in a structured way, seasoned Ballerina users, who prefer a categorized view for reference, have found this organization inconvenient. With that in mind, we have added a second view of the BBEs, titled Reference by Examples, that resembles the previous structure.

Learning Videos

We also added some new video content to the site to ease the learning process. James Clark, the lead language designer of Ballerina, created a video series that expands on all the language’s significant features, including what it has in common with most programming languages and what makes Ballerina distinctive. We recommend anyone new to Ballerina start learning with this video series and then try out the BBEs.

This easy-to-follow screencast created by Manuranga Perera shows you how to call and create HTTP services with Ballerina; it also covers query expressions and error handling. If you are tired of reading docs, this video gives you a quick overview of setting up your Ballerina project, using the VSCode plugin, and writing and running Ballerina code for a practical use case.


In other news, we are happy to announce the beta release of Choreo, a low-code cloud platform for creating, managing, and composing APIs. It lets you write code and low-code simultaneously—of course because the code is pure Ballerina! You can write the logic visually with low-code and code, or switch back and forth as you see fit.

Choreo provides an end-to-end development environment to create, test, debug, run, and manage three types of cloud-native applications: services, APIs, and integrations. A graphical editor, predefined templates, and built-in wizards provide a seamless no-code and low-code experience. Finally, the APIs exposed by each application type can be deployed and discovered for consumption in the Choreo marketplace. Choreo provides complete application lifecycle management using professional DevOps pipelines defined using GitOps, taking the artifacts and deploying them into Kubernetes.

To get a high-level idea of what developing in Choreo is like, let’s look at the code below, which periodically calls a COVID-19 data API, extracts data, and sends an SMS. You can see the low-code and code views side-by-side, and if you change one, the other will change as well.


Sanjiva Weerawarana, CEO of WSO2, talks about the intersection of low-code and business applications, Ballerina, and Choreo on the Cloudcast podcast.

You can give Choreo a whirl here: https://wso2.com/choreo.

Events and Support

Community Call

In our most recent call, we showed a few live demos using Swan Lake beta. We also showed Choreo in action by writing a service (with Ballerina code) and deploying it on Choreo. We’ll be holding the next community call on 27th July. Get notified directly about the details of the upcoming community calls. You can also get involved in our next community call by submitting a discussion topic.

Support Us

You can follow us on Twitter and tweet with the #ballerinalang hashtag. You can also show us your support by starring the Ballerina GitHub repo and following us.

Privacy Policy   |   Terms of Service

Want to get hand-picked content and the latest news on Ballerina delivered directly to your inbox? Then subscribe to our monthly newsletter today!