Ecossistema YveTech · Desktop · Por dentro

O ambiente de Aplicações Desktop

Uma aplicação de posto é uma pilha de camadas que precisam envelhecer bem juntas. Esta página mostra o que roda em cada uma delas, por que escolhemos assim e o que isso significa para quem vai manter o sistema daqui a três anos.

A escolha técnica é uma decisão de manutenção, não de gosto

A pergunta certa não é qual tecnologia é melhor. É quem vai conseguir mexer nisso daqui a três anos.

Toda escolha de linguagem e de biblioteca numa aplicação desktop é uma aposta sobre o futuro: quem vai manter, com que facilidade se encontra profissional, se o fornecedor da biblioteca continua existindo e quanto custa mudar de ideia depois. Por isso não temos uma pilha única para todo projeto — temos critérios, e a decisão sai deles com você presente.

O eixo principal é o peso da integração com o equipamento e o desempenho exigido no posto. Operação com muito periférico e volume alto costuma pedir aplicação nativa. Sistema de gestão com muita tela, pouca leitura de hardware e equipe já acostumada a tecnologias web costuma ser bem atendido por multiplataforma, que entrega mais rápido e mantém uma base única. Nos dois casos, a camada de comunicação com o hardware fica isolada — trocar um modelo de balança não pode implicar mexer na regra de negócio.

E tudo o que sustenta o parque vem junto. Banco local, fila de sincronização, canal de atualização assinado, registro de erro com contexto e painel de versão por posto não são extras: são o que faz a diferença entre um sistema instalado e um sistema que se consegue operar e evoluir.

Aplicação desktop sem canal de atualização e sem registro de erro remoto não é um sistema entregue: é um sistema que vai depender de visita a cada problema.

As camadas do ambiente

O que compõe uma aplicação desktop da YveTech, da tela ao painel do parque.

Interface

WPF no Windows, AppKit no macOS, ou Electron e Tauri quando uma base única atende melhor. A escolha sai dos critérios, não da moda.

Núcleo de regras

A regra de negócio isolada da tela e do hardware — é ela que sobrevive a uma troca de interface ou de periférico.

Persistência local

SQLite como padrão: rápido, sem administração e com o arquivo do banco fácil de copiar em diagnóstico.

Camada de periféricos

Um driver por equipamento, com simulador, permitindo testar tudo sem o aparelho ligado e trocar de modelo sem tocar no núcleo.

Sincronização

Fila persistente, tentativa com espera crescente, reconciliação com regra escrita e alerta quando a espera passa do combinado.

Distribuição e observação

Pacote assinado, atualização automática, registro de erro com contexto e o painel que mostra a versão de cada posto.

O ambiente por dentro

Três recortes da infraestrutura que sustenta o parque de estações.

Como a pilha é escolhida

Quatro perguntas que respondemos com você antes de fixar qualquer tecnologia.

Qual o peso do hardware?

Muita leitura de periférico e protocolo incomum puxam para nativo. Pouca integração e muita tela abrem espaço para multiplataforma.

Quais sistemas atender?

Só Windows, só macOS ou os dois. Atender os dois com base única muda o cálculo de custo de construção e de manutenção.

Quem vai manter depois?

Se a sua equipe assume a sustentação, a pilha precisa ser uma que ela consiga contratar e manter — mesmo que não seja a nossa preferida.

Qual a vida esperada?

Sistema para durar anos exige biblioteca com histórico e comunidade. Ferramenta que resolve um ciclo específico aceita escolha mais enxuta.

O que fica com você

O sistema é seu — inclusive o conhecimento necessário para mantê-lo sem nós.

  • Código-fonte integral — repositório no nome da sua empresa desde o primeiro commit.
  • Documento de arquitetura — as decisões e as alternativas descartadas, escritas.
  • Ambiente reproduzível — o passo a passo para compilar e gerar o instalador do zero.
  • Acessos e certificados — canal de atualização e assinatura em nome da sua empresa.

O que evitamos por princípio

Escolhas que barateiam hoje e cobram caro na manutenção.

  • Biblioteca sem manutenção — componente abandonado vira reescrita forçada em dois anos.
  • Regra de negócio na tela — lógica dentro do formulário impede teste e trava a evolução.
  • Driver acoplado ao núcleo — trocar de balança não pode significar mexer no cálculo do pedido.
  • Dependência de uma pessoa — o que só um desenvolvedor entende é risco, não produtividade.

Nativo ou multiplataforma: como decidimos

Não há vencedor absoluto. Há o que se sustenta melhor no seu caso — e o critério fica registrado.

Situação do projeto Caminho que costuma vencer O que pesa na decisão
Muito periférico e protocolo incomum nativo acesso direto a porta e biblioteca do fabricante, sem camada intermediária
Volume alto e cálculo intensivo nativo controle fino de memória e uso previsível dos núcleos
Muitas telas, pouca leitura de hardware multiplataforma entrega mais rápida e uma base única para os dois sistemas
Windows e macOS com a mesma regra multiplataforma metade do custo de manutenção ao longo dos anos
Equipe interna assume a sustentação a pilha que ela já domina contratar e manter pesa mais que a preferência técnica
Aparência do sistema em primeiro plano nativo comportamento e detalhes de cada sistema saem de graça

Compromissos desta etapa

O que combinamos antes de começar — e cobramos de nós mesmos durante o projeto.

2sistemas atendidos: Windows e macOS
1 driverpor periférico, isolado do núcleo
100%do código e da documentação com você
Painelversão e sincronização de cada posto

Perguntas frequentes sobre o ambiente de aplicações desktop

As dúvidas que mais aparecem nesta etapa. Sobre prazo, forma de cobrança e contrato, veja as perguntas frequentes da YveTech.

Qual tecnologia vocês usam em aplicação desktop?

Depende do projeto, e o critério fica registrado no documento de arquitetura. No Windows, C# com .NET e WPF cobre bem operações com muito periférico. No macOS, Swift com AppKit. Quando a mesma regra precisa rodar nos dois sistemas e a integração com hardware é leve, Electron ou Tauri entregam mais rápido com uma base única. O que não fazemos é escolher antes de conhecer o posto.

Electron não deixa a aplicação pesada?

Consome mais memória que uma aplicação nativa — isso é fato e não escondemos. A pergunta é se esse consumo importa no seu posto: numa estação com memória folgada e uso de tela, normalmente não; numa máquina modesta rodando outros sistemas ao lado, importa muito. Por isso a decisão vem depois da análise do posto, com a configuração real das máquinas na mesa. Tauri costuma ser a saída quando se quer base única com consumo menor.

Se eu quiser trocar de fornecedor, consigo?

Consegue, e o projeto é montado para isso. O repositório está no nome da sua empresa, a documentação de arquitetura sai junto com o código e entregamos o passo a passo para compilar e gerar o instalador do zero. O certificado de assinatura e o canal de atualização também ficam em nome da sua empresa. Não trabalhamos com código refém.

Como vocês descobrem um erro que aconteceu na loja do cliente?

Pelo registro que a própria aplicação envia. Toda falha gera um relatório com o contexto do que estava acontecendo — versão, tela, operação em andamento e o estado da fila de sincronização — sem dado pessoal desnecessário. É o que permite diagnosticar sem depender da descrição de quem estava no balcão no meio do movimento, e é a diferença entre corrigir no mesmo dia e pedir para o operador tentar reproduzir.

Quer entender a pilha antes de decidir?

Explicamos as opções com os critérios na mesa — inclusive os casos em que a nossa preferência técnica não é a melhor escolha para você.