Skip to main content

O que é AppCore

Imagine a mesma aplicação instalada em dois lugares. Em uma loja ela roda em um notebook e precisa continuar funcionando sem internet. Em outra instalação ela roda em cluster, com control plane, leases, Peer RPC e update supervisionado. O código de negócio não deveria ter duas arquiteturas.

AppCore existe para essa fronteira.

Ele não é web framework, banco de dados, ERP ou plataforma de negócio. Ele é um runtime host que torna decisões de infraestrutura explícitas, versionadas e testáveis.

O problema

Backends comuns acumulam infraestrutura escondida: configuração mistura identidade, paths, secrets e endpoints; retries entram nos handlers; jobs rodam fora do ciclo de vida; update troca arquivos antes de provar health; liderança distribuída vira um booleano sem fencing.

AppCore separa ownership:

ContratoDonoContémNão contém
Application Manifestaplicaçãoidentidade, compatibilidade, capabilities, requisitospaths, provider IDs, endpoints, secrets
Deployment Manifestinstalaçãomodo, providers, rede, paths, secret refs, watchdogregras de negócio, schemas, source
Runtime Manifestruntimeversão observada, node/core, health, plataformaoverrides do usuário
Código de negócioaplicaçãocommands, queries, handlers, state, decisionscomposição do runtime

Quando usar

Use AppCore quando a aplicação precisa de local-first, cluster, commands/queries explícitos, storage durável, backup/restore, health/status, serviços supervisionados, sync com checkpoints, Peer RPC, gateway ou updates com staging, health gate e rollback.

Quando não usar

Evite quando um servidor HTTP stateless e um banco gerenciado bastam. AppCore não fornece ORM, OAuth, vault gerenciado, terminação TLS universal, RAFT, consenso multi-master ou resolução automática de conflitos de domínio.

Limitations

  • AppCore oferece contratos de runtime; ele não escreve o modelo de negócio.
  • Deployments ainda precisam escolher providers, paths, secrets e process manager corretamente.
  • O runtime valida envelopes e manifests, mas não prova que handlers de domínio estão corretos.
  • A linha 1.0 RC prefere falha explícita a compatibilidade automática com formatos antigos.

Próximo capítulo: contrato de três artefatos.