Acenda o Futuro do Backend com o SPARK: Código, Documentação e UML Simplificados
Já ouviu falar do SPARK?
O SPARK é uma ferramenta, desenvolvida pelo LEDS (Laboratório de Extensão e Desenvolvimento de Soluções) do IFES Campus Serra, para o Visual Studio Code, que funciona como um gerador de código focado no desenvolvimento backend. Ela não só gera o código-fonte para aplicações em linguagens como Django (Python), Java e C#, mas também cria documentação e diagramas UML a partir de uma linguagem de domínio específica (DSL) própria construída com Langium.
A ideia é que você escreva arquivos com a extensão .Spark, onde define de forma estruturada as configurações do seu software — por exemplo, o nome, a descrição, o tipo de linguagem alvo, nome da base de dados, entre outros parâmetros. Além disso, você pode definir módulos, entidades (com atributos, restrições, relacionamentos) e até casos de uso. Após configurar essas definições, basta acionar um comando na extensão para que o SPARK gere, de maneira automatizada, não só o código-fonte, mas também os artefatos que documentam a estrutura e as relações do seu sistema (como diagramas de classes e pacotes) de forma padronizada.
Passo a passo de instalação, configuração e utilização do SPARK
1 - Encontrar e instalar o SPARK
Ao abrir o VS Code é necessário procurar na aba Extensões pelo SPARK. Logo abaixo tem a imagem com a aparência da extensão:
Em seguida você clica em "Instalar" que a extensão é instalada no seu VS Code e pode ler, antes ou depois de instalar, os detalhes de como usar o Spark, mas logo abaixo vou descrever um exemplo básico de como utilizá-lo.
2 - Criar o arquivo .Spark e descrever as configurações e módulos
Em uma pasta aberta no VS Code você cria um arquivo .Spark, para exemplo criei o "modelo.Spark" (retângulo vermelho), e em seguida apenas copiei e colei nele o exemplo deixado na aba Detalhes da Extensão vista na imagem anterior (retângulo azul) onde são descritas as configurações (Nome, descrição, linguagem e outros parâmetros que não aparecem neste exemplo) e os módulos com as entidades e seus atributos e relacionamentos (tudo isso reflete no esqueleto do código-fonte gerado).
Por fim ao clicar com o botão direito do mouse, no retângulo amarelo, estão marcadas as opções que o SPARK adiciona para geração (Gerar tudo, apenas a autorização, apenas o backend, apenas o backlog, apenas o frontend e apenas a documentação do projeto)
3 - Gerar o esqueleto da aplicação
Neste exemplo a opção de gerar o backend é selecionada e na imagem abaixo é possível ver as pastas e o arquivos (de configuração, ambiente e código) gerados no retângulo vermelho:
Tirando o passo 2 que exige uma dedicação em configurar e especificar as entidades, os atributos e relacionamentos para refletirem no código-fonte do projeto, os demais passos são simples de serem realizados e não ocupam muito tempo.
Conclusão
Essa abordagem pode acelerar significativamente o desenvolvimento, padronizando a estrutura do projeto e evitando a repetição de tarefas comuns (chamadas de corno-jobs por algumas pessoas da comunidade dev.). Se você é um desenvolvedor ou estudante da área e busca agilidade e consistência no design dos seus projetos essa extensão pode ser uma ferramenta bem interessante para explorar. Está esperando o que? Instale, teste no teu ambiente de desenvolvimento e explore a ferramenta!
Caso queira conhecer e contribuir com o projeto, que é open source, segue abaixo o link do repositório:
https://github.com/leds-org/leds-tools-spark
Créditos:
LEDS: https://www.instagram.com/ledsifes/ e https://www.linkedin.com/school/ledsifes/?originalSubdomain=br
Paulo Sérgio : https://github.com/paulossjunior
João Marcos Pimentel: https://github.com/joaomrpimentel