Glossário

Nesta seção, você vai encontrar alguns conceitos sobre a StackSpot.

Veja abaixo o glossário da StackSpot:

Criadores (Creators)

São os reponsáveis pela criação e uso de Templates/Plugins/app dentro do STK CLI. É quem desenha e cria Stacks para produção de softwares e, logo depois, publica Templates e Plugins nessas Stacks que podem ser usadas pelos estúdios.

Os criadores definem os aspectos da Stack como: linguagem de programação, bibliotecas e componentes, fases do ciclo de vida, controle de qualidade, testes, empacotamento, distribuição e boas práticas implementadas pela Stack.

Ao publicar um estúdio de Stack, o criador deve:

  • Definir a estratégia de desenho de suas Stacks para que os seus usuários consigam atingir seus objetivos, com uma baixa carga cognitiva e alta qualidade.
  • Garantir a existência de Templates e Plugins que são compatíveis entre si.
  • Garantir que, quando os Templates e Plugins forem aplicados em conjunto, eles sejam capazes de produzir projetos de software de forma rápida e eficiente, abstraindo dos usuários as complexidades do processo de desenvolvimento.

Usuário

É a pessoa (usuário) ou organização, que consome as Stacks produzidas e publicadas pelo criador.

Ao usar o STK CLI, o usuário consegue importar as Stacks publicadas pelos criadores e iniciar, com facilidade, novos projetos baseados nos Templates das Stacks produzidas. Os projetos criados com os Templates podem ser ampliados com Plugins, que adicionam novas funcionalidades e recursos ao projeto.

Ao seguir os padrões desenvolvidos pelos criadores, o usuário diminui o tempo de desenvolvimento da sua aplicação e aumenta a qualidade dos seus produtos.

STK CLI

É a Interface de Linha de Comando (Command-line interface) criada pela Stackspot. É a ferramenta onde usuário e criador executam as funcionalidades disponíveis pela plataforma, como adicionar e criar Stacks, Templates, Plugins, etc.

Comandos STK CLI

No STK CLI, os comandos são divididos em três categorias básicas: Core, Criadores e Usuários.

  • Os comandos Core são usados tanto pelos criadores quanto pelos usuários de Stacks;
  • Os comandos para Criadores são utilizados na criação de Stacks, Templates e Plugins;
  • Os comandos para Usuários são voltados para o consumo das Stacks produzidas. É possível adicionar Stacks, usar Templates e Plugins para criar aplicações e ambientes. Confira a lista do Comandos.

Stack

Contexto da Stack

Uma Stack representa um conjunto de decisões e padrões tecnológicos para resolver um problema específico, incluindo, mas não limitado a linguagens, arquitetura, experiência de desenvolvimento, operação, segurança, escala e governança. A materialização se dá pelo empacotamento de peças de software que trabalham de forma conjunta para garantir os requisitos exigidos pela aplicação baseada na Stack.

A Stack é

Template

Um Template é o esqueleto de uma Stack que contém o mínimo para torná-la uma aplicação. É um modelo de aplicação que você aplica para construir um projeto. O Template recebe um conjunto de variáveis que, quando são preenchidas, produzem a estrutura de um projeto.

Essas variáveis são:

  • Linguagem de programação;
  • Build System;
  • Frameworks;
  • Empacotamento;
  • Outros componentes estruturais usados para construir uma Stack.

O Template deve definir todas as capacidades básicas e padronizadas de uma Stack, que depois poderão ser estendidas por meio de Plugins.

De acordo com a estratégia que o Estúdio quer adotar na Stack, um Template pode ser complexo ou básico. Ele pode ser usado nos comandos stk create app para criar um projeto.

Versionamento do Template

Cada Template é versionado em um repositório Git e o Estúdio publica os Templates em uma Stack que agrupa os Plugins e Templates. O versionamento dos Templates deve aderir ao versionamento semântico, pois o STK CLI sempre mantém os Templates na última tag publicada, que pode ser na branch main, ou quando não houver tags, na master.

Plugin

São extensões de uma Stack que permitem a agregação de novas capacidades ao Template base por meio da inclusão de código fonte, importação de bibliotecas e até mesmo a execução de comandos e operações complexas para adicionar capacidades a Stack.

A estrutura de um Plugin é igual a de um Template, com exceção do tipo, que é app, no lugar de app-template.

Stackfiles

São bundles, ou seja, um conjunto de Templates e Plugins predefinidos de uma Stack, que serão aplicados no comando stk create app. Ao utilizar um Stackfile, o usuário pode criar um app e aplicar um bundle de Plugins em um único comando do STK CLI.

Os Stackfiles são úteis para que os criadores de Stack definam dentro da própria Stack combinações comuns de Templates e Plugins, e definam “receitas prontas” para as combinações mais comuns dentro da Stack.

Os usuários podem definir seus próprios Stackfiles para agilizar o processo de criação de projetos que usem um bundle predefinido de Templates e Plugins.

Exemplo de Stackfile

Uma Stack voltada para a criação de aplicações em .NET pode conter um Stackfile que cria uma aplicação com plugins de observabilidade por padrão, outro que, além de observabilidade, adiciona funcionalidades de banco de dados e assim por diante.

Tasks

São comandos customizáveis que complementam os comandos Core do STK CLI, as Tasks permitem executar operações no contexto de um projeto ou de uma Stack. Por exemplo, configurar um ambiente local, fazer um deploy ou até mesmo executar scripts.

-Para quem cria Stacks é possível criar comandos de uso recorrente para quem usa e desenvolve com a StackSpot. As Tasks tornam a experiência de usar uma Stack mais relevente, com a adição de funções úteis em seu dia a dia além da aplicação de Plugins ou criação de Projetos.

Aplicação (app)

É um produto ou módulo de um produto que implementa alguma funcionalidade. Uma aplicação pode ser, por exemplo:

  • Uma biblioteca
  • API
  • Um aplicativo mobile
  • Microsserviço Ou outro componente de software que disponibiliza funcionalidades importantes de negócio.

A partir do tipo da aplicação, ela pode fazer referência a um ambiente para usar os recursos compartilhados dele. Mas uma aplicação também pode ser criada sem fazer referência a um ambiente. Resumindo: esta referência é opcional.