image

Access unlimited bootcamps and 650+ courses

50
%OFF
Article image
Lorhan Souza
Lorhan Souza31/03/2025 01:24
Share
Microsoft Certification Challenge #3 DP-100Recommended for youMicrosoft Certification Challenge #3 DP-100

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:

    image

    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)

    image

    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:

    image

    image

    image

    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

    Share
    Recommended for you
    XP Inc. - Cloud com Inteligência Artificial
    Microsoft AI for Tech - Azure Databricks
    Microsoft Certification Challenge #3 DP-100
    Comments (2)
    DIO Community
    DIO Community - 31/03/2025 14:13

    Lorhan, sua publicação é um ótimo exemplo de como explorar o potencial de ferramentas emergentes com clareza e profundidade. Você não apenas apresentou o SPARK como uma solução técnica, mas conseguiu conectar a proposta da ferramenta a um desafio real do desenvolvimento backend: a busca por agilidade, padronização e documentação eficiente. Isso mostra não só domínio do assunto, mas também uma mentalidade de compartilhamento e contribuição com a comunidade dev.

    Aqui na DIO, acreditamos que disseminar esse tipo de conhecimento é fundamental para fortalecer a cultura da inovação e da colaboração. Seu texto também valoriza a origem acadêmica da ferramenta e convida a comunidade a explorar e contribuir, o que reforça ainda mais o espírito open source e o poder do coletivo.

    Você já pensou em transformar esse conteúdo em um mini-guia colaborativo ou até criar um repositório com exemplos prontos de arquivos .Spark?

    William Silva
    William Silva - 31/03/2025 07:28

    Muito interessante 👏👏👏

    Recommended for youMicrosoft Certification Challenge #3 DP-100