Skip to main content

Tecnologias

Plasma contém uma série de tecnologias que foram acopladas para melhorar o desenvolvimento, a seguir falaremos sobre elas.

i
Para saber: Todas as tecnologias envolvidas no plasma contém documentação própria, logo para saber mais detalhes sobre a mesma sugerimos que leia a documentação oficial de cada uma conforme necessidade.


Vue 3

Framework base principal para desenvolvimento de aplicações frontend dentro do Plasma.

Aqui você pode aprender sobre Vue 3.


Nuxt 3

Nuxt 3 é um framework para trabalhar com Vue 3, ele facilita o desenvolvimento deixando pré-configurado uma série de coisas, como rotas, estados, componentes, dentre muitas outras features. Nuxt foi escolhido como ferramenta base de desenvolvimento para o Plasma para que todas as aplicações sejam feitas na mesma base, facilitando a abstração de todas essas configurações que normalmente usando somente Vue 3 levaria mais tempo e atenção para deixar tudo funcionando.

Aqui você pode aprender sobre Nuxt 3.


Apollo Client

Dentro do Plasma é possível trabalhar com GraphQL e para isso fizemos a integração com o Apollo Cliente. Essa ferramenta em conjunto com @vue/apollo-composable e @graphql-codegen/cli nos proporciona uma série de composables que são gerados a partir de uma API GraphQL. Dessa forma não é necessário criar os types de mutations, queries e schemas, pois o codegen se encaregará de ler a API e gerar todos os types, em seguida usando o apollo-composable irá gerar todos os composables necessários para fazer as requisições dentro da aplicação, sem necessidade de uso de bibliotecas para requisições http, como por exemplo um axios.

i
Para saber: Uma vez que rodamos o comando yarn generate já pré configurado no plasma, o codegen faz seu trabalho a partir de algumas configurações pré-definidas.

Para saber mais veja aqui.

Codegen

Codegen é um plugin usado para gerar código a partir de uma stack GraphQL. Em resumo ele irá ler uma API GraphQL e irá gerar todos os types e métodos necessários para acessar esta API, seja schemas, mutation ou queries.

i
Para saber: No Plasma é necessário garantir que alguns arquivos estejam corretamente configurados para tudo ocorrer de maneira correta.

Para saber mais veja aqui.

Pinia

Pinia é um gerenciador de estado criado para usar com Vue. Tradicionalmente usamos o Vuex, que foi o primeiro gerenciador de estado disponibilizado, mas Pinia já conta com todas as novas features do Vue 3, disponibilizando composables e métodos que facilitam o controle de estados na aplicação.

Aqui você pode aprender sobre Pinia.


Commitlint + Commitzen

Commitlint é uma ferramenta de padronização de commits, que será usada para garantir que todos sigam uma mesma forma de fazer seus commits, mas para isso acomplamos o Commitzen, pois somente o commitlint não garante um padrão 100% apresentável. Commitzen apresenta para o desenvovedor uma serie de perguntas para serem respondidas a partir de uma cli seguindo os padrões do commitlint, assim temos um commit limpo e organizado para todos os desenvolvedores.

No Plasma para fazer um commit, assumindo que já tenha indexado os arquivos necessários, basta executar:

yarn commit

Windi CSS

Windi CSS é um framework CSS utilitário de última geração. É um framework feito sob demanda em relação ao Tailwind CSS, porém ais rápido e com 100% de compatibilidade com Tailwind 2.0.

Aqui você pode aprender sobre Windi CSS.


Girassol

Girassol é o Design System da Solfácil, um framework repleto de componentes que atendem a necessidade da empresa para construção de novas aplicações.

Aqui você pode aprender sobre Girassol.


Sentry

Sentry é uma plataforma de monitoramento de erros em aplicações e para isso usamos o plugin oficial para fazer esta rastreabilidade. Plasma já vem com plugin de integração para o Sentry disponibilizando 3 métodos básicos globalmente.

  • sentrySetContext - Onde pode ser informado o contexto dos erros que serão monitorados.
  • sentrySetUser - Usado para informar o usuário que estava usando a aplicação no momento em que o erro é rastreado.
  • sentrySetTag - Aqui pode ser informada uma TAG específica para identificar o erro.

Ohmyfetch

Ohmyfetch é uma biblíoteca fortemente recomendada pela comunidade Nuxt para a realização de requisições http. Ela disponibiliza todos os tipos possíveis de requisições e com uma simples forma de usar e configurar.

Aqui você pode aprender sobre ohmyfetch.