InícioNuvemComputaçãoBallerina: Uma linguagem de programação desenvolvida para ser utilizada na nuvem.

Ballerina: Uma linguagem de programação desenvolvida para ser utilizada na nuvem.

Date:

A Ballerina foi criada com o objetivo de tornar mais simples a criação de microsserviços distribuídos e facilitar a conexão de APIs. Para desenvolvedores que trabalham com C, C++, C# e Java, a ferramenta terá uma interface familiar.

ballerina graceful dancer agile flexible
Imagem: xsix/Flickr

A Ballerina, suportada pelo WSO2, é descrita como uma linguagem de programação estática, de código aberto e nativa da nuvem. Uma linguagem nativa da nuvem é aquela que suporta redes e estruturas de dados comuns da internet, além de ter interfaces para diversos bancos de dados e serviços online. A Ballerina foi criada para simplificar o desenvolvimento de microsserviços distribuídos, facilitando a integração de APIs, e foi projetada de forma a ser familiar para programadores de C, C++, C# e Java.

Basicamente, Ballerina é uma linguagem compilada semelhante a C que oferece suporte para dados JSON, XML e tabulares com consultas em linguagem SQL integradas, além de concurrency com diagramas de sequência e threads gerenciados pela linguagem. Também apresenta diagramas de sequência ao vivo sincronizados com o código fonte, tipos flexíveis para uso em programas internos e em interfaces de serviço, manipulação de erros explícitos e segurança de concurrency, juntamente com primitivas de rede integradas na linguagem.

Existem duas versões de Ballerina disponíveis. A primeira, jBallerina, utiliza ferramentas desenvolvidas em Java, compila para bytecode Java, funciona em uma máquina virtual Java e tem interoperabilidade com programas Java. A segunda versão, nBallerina, mais recente e ainda em desenvolvimento, compila para binários nativos usando LLVM e oferece uma interface de função externa C. jBallerina atualmente pode criar imagens nativas GraalVM experimentalmente por meio de seu CLI e gerar artefatos de nuvem para Docker e Kubernetes. A linguagem Ballerina inclui módulos de interface para diversos bancos de dados, como PostgreSQL, MySQL, Microsoft SQL Server, Redis, DynamoDB, Azure Cosmos DB, MongoDB, Snowflake, Oracle Database e JDBC.

Para o seu desenvolvimento, a Ballerina disponibiliza um plug-in para o Visual Studio Code que permite edição e depuração tanto visual quanto de código-fonte; um utilitário de linha de comando com diversas funcionalidades úteis; uma interface web para testes; e um ambiente interativo de shell REPL. A linguagem Ballerina é compatível com OpenAPI, esquemas GraphQL e esquemas gRPC. Além disso, conta com a plataforma de compartilhamento de módulos Ballerina Central e uma extensa biblioteca de exemplos. O utilitário de linha de comando inclui um sistema de compilação, um gerenciador de pacotes, geradores de código e o shell REPL interativo.

Por fim, a Ballerina disponibiliza integração com o Choreo, que é a solução em nuvem do WSO2 para gerenciamento e integração de API, oferecendo funcionalidades de observabilidade, CI/CD e devops mediante um custo acessível. A própria Ballerina é de código aberto.

VEJA TAMBEM:  JetBrains lança novo serviço de Integração Contínua e Entrega Contínua (CI/CD) voltado para equipes de menor porte.

“Discurso de Bailarina”

A linguagem Ballerina mescla aspectos conhecidos de linguagens semelhantes a C com particularidades exclusivas. Um exemplo disso é apresentado neste programa “Hello, World” que inclui o uso de variáveis.

Os tipos int e float em Ballerina são de 64 bits com sinal. Os caracteres e identificadores são baseados em Unicode para suportar diversos idiomas. As strings são imutáveis na linguagem, que também oferece suporte a métodos e funções.

No Ballerina, nil é usado em vez de null e pode ser indicado com um ponto de interrogação após o tipo, similar ao C#. Um par vazio de parênteses também representa nil.

Em Ballerina, os arrays são implementados utilizando suportes quadrados.

Os mapas de Ballerina são como os dicionários Python, sendo estruturas que associam valores a chaves específicas.

Os registros de Ballerina lembram as estruturas em C.

Você tem a capacidade de especificar tipos e registros com nomes em Ballerina, que se assemelham aos typedefs em C.

Você tem a possibilidade de combinar diferentes tipos usando o símbolo |.

A bailarina não tolera exceções, mas tolera falhas. A palavra-chave de verificação é uma abreviação útil para determinar se o tipo é um erro.

Essa é a função idêntica, porém utilizando verificação em vez de verificar se “ret” é um erro, retornando “ret:.

Você tem a capacidade de transformar erros incomuns em situações críticas utilizando a palavra-chave de pânico. É possível não considerar os resultados e erros ao utilizar o caractere _ semelhante ao Python.

Ballerina possui diversos tipos, classes e objetos. A criação de objetos é feita utilizando uma nova palavra-chave, similar ao Java. Os tipos de enum em Ballerina funcionam como abreviações para conjuntos de constantes de string, diferente do C. A declaração de correspondência lembra a declaração de caso em C, porém é mais flexível. Ballerina permite a inferência de tipo com a palavra-chave ‘var’. As funções em Ballerina são tratadas como tipos de primeira classe, o que possibilita utilizá-la como uma linguagem de programação funcional. Além disso, Ballerina suporta programação assíncrona com palavras-chave como ‘start’, ‘future’, ‘await’ e ‘cancel’, que são executadas em threads lógicas.

A Ballerina oferece uma variedade de serviços de rede, tabelas e tipos XML, concorrência e transações, além de diversos recursos avançados. É recomendado explorar cada um deles com atenção, pois há muito a ser descoberto; não é possível resumir tudo aqui. A imagem a seguir apresenta um programa que pode lhe proporcionar uma ideia de alguns desses recursos.

VEJA TAMBEM:  As torneiras da DataStax ThirdAI visam incorporar inteligência artificial generativa em seus produtos de banco de dados.
ballerina 01
Imagem: Peggychoucair/DepositPhotos

Neste exemplo apresentado na página inicial da Ballerina, é mostrado o diagrama de código e sequência de um programa que extrai problemas do GitHub de um repositório e os adiciona como linhas em uma planilha do Google. O código e o diagrama estão interligados, ou seja, uma alteração em um afetará o outro. Antes de executar o programa, é necessário preencher os tokens de acesso nas lacunas indicadas, e o pacote ballerinax/googleapis para planilhas precisa ser obtido da Ballerina Central, do VS Code usando a ação “Pull unresolved modules” ou do CLI com o comando `care pull`.

Recursos de biblioteca e extensões comuns em Ballerina.

Há mais de mil pacotes disponíveis no Ballerina Central, que abrangem a Biblioteca Padrão da Ballerina (ballerina/*), extensões da Ballerina (ballerinax/*) e demonstrações e extensões de terceiros.

A documentação da biblioteca padrão pode ser encontrada neste local. As extensões desenvolvidas pela equipe do Ballerina geralmente funcionam como interfaces para produtos de terceiros, como bancos de dados, sistemas de monitoramento, fluxos de eventos e APIs populares, como GitHub, Slack e Salesforce.

Qualquer indivíduo tem a capacidade de estabelecer uma entidade e enviar um pacote para o Ballerina Central. É importante ressaltar que todos os pacotes disponíveis nesse repositório são de acesso público. Naturalmente, é possível também submeter seu código para o GitHub ou outro repositório de código fonte e gerenciar o controle de acesso a ele.

Colocando Ballerina em funcionamento.

Você pode instalar a Ballerina baixando o pacote compatível com o seu sistema operacional Windows, Linux ou macOS e executando o instalador correspondente. Há alternativas de instalação extras, como a compilação do código fonte. Após isso, utilize o comando bal na linha de comando para confirmar se a instalação foi concluída com êxito.

Além disso, é necessário instalar a extensão Ballerina no Visual Studio Code. Para confirmar que a extensão foi instalada corretamente, verifique no código do VS seguindo o caminho View -> Paleta de comando -> Ballerina. Deverá visualizar aproximadamente 20 comandos disponíveis.

A ordem na linha estava desequilibrada.

A linha de comando bal é uma ferramenta que auxilia na administração do código fonte Ballerina, facilitando o gerenciamento de pacotes e módulos, além de possibilitar testes, construção e execução de programas. Também possibilita a instalação, atualização e alternância entre as distribuições do Ballerina de forma simplificada. Consulte a documentação ou a saída de ajuda do bal para mais informações.

VEJA TAMBEM:  Estamos menos habilidosos na computação em nuvem do que estávamos há uma década?
ballerina bal help lg
Imagem: xsix/iStock

A assistência de fardos apresenta uma ampla gama de subcomandos acessíveis através da linha de comando do Ballerina. Esses comandos abrangem atividades como compilação, empacotamento, scaffolding, além da criação de código e documentação.

Exemplos de Bailarina

Existem muitos exemplos disponíveis para a Ballerina. Você pode acessá-los na página de aprendizado da Ballerina, ou no VS Code usando o comando Ballerina: Mostrar Exemplos. Explorar esses exemplos é uma forma diferente de aprender programação em Ballerina, complementando os tutoriais e a documentação, e ajuda na descoberta espontânea e em pesquisas intencionais.

Um aviso sobre os exemplos: Alguns não são fáceis de entender, sugerindo que foram criados sem considerar a perspectiva dos alunos ou passaram por revisão de usuários inexperientes. Contudo, há muitos exemplos claros que fornecem links para documentação e código fonte.

Por exemplo, durante a exploração dos exemplos, descobri que Ballerina possui um módulo de teste chamado Testarina, localizado no módulo ballerina/teste. Esse módulo de teste define as anotações necessárias para criar um conjunto de testes, como @test:Config, e inclui afirmações que podem ser familiares a quem já trabalhou com JUnit, testes de unidade Rails ou estruturas de teste similares, como por exemplo a afirmação de teste assertEquals(). Além disso, o módulo de teste oferece maneiras de especificar funções de configuração e remoção, funções de zombaria e estabelecer dependências de teste.

ballerina examples
Imagem: stephmcblack/StockVault

Exemplos de Ballerina, como demonstrado através do recurso “Mostrar Exemplos” do VS Code, podem ser encontrados online.

De maneira geral, Ballerina é uma linguagem de programação de código aberto eficiente e abrangente, projetada para programação na nuvem. Embora não apresente os módulos de tempo de execução mais rápidos atualmente, está sendo trabalhado para resolver esse problema através de iniciativas como o uso de imagens nativas GraalVM experimentais e o projeto nBallerina, que visa compilar para código nativo.

Neste caso, Ballerina pode ser uma boa opção para ser utilizada em projetos internos que envolvem a integração de serviços online, sem necessidade de ter desempenho acelerado ou ser esteticamente atraente. Além disso, o custo é adequado.

Custo: A Plataforma Ballerina e Ballerina Idioma estão disponíveis gratuitamente como código aberto sob a Licença Apache 2.0. Hospedagem de Choreo: $150 por componente por mês após a gratuidade de cinco componentes, mais custos de infraestrutura.

Sistemas operativos suportados: Windows, Linux, macOS; Aplicação: Visual Studio Code.

DEIXE UMA RESPOSTA

Por favor digite seu comentário!
Por favor, digite seu nome aqui