E se construir software não exigisse um ecossistema inteiro de cerimônia?
Kof pretende tornar operações comuns parte da própria plataforma. Nada abaixo é apresentado como pronto sem estar marcado como tal.
coleções
DisponívelList<T>, listOf, Map<K,V> e Set<T> nos três targets — no Native, asm próprio; COL001 fechado.
enum
Disponívelvalues(), valueOf() e name() com == por conteúdo nos três targets; switch exaustivo verificado em compile-time (SEM031).
strings
DisponívelConcat, comparação e API completa.
arquivos (kof.io)
DisponívelFile, Path e Directory; texto UTF-8 e erros consistentes. Nos três targets.
JSON
DisponívelEncode/decode tipado; objetos no JVM, arrays tipados incluídos.
HTTP (kof.web)
Disponívelweb.app(), rotas com path params, middleware, servidor embutido no runtime e TLS via web.listenSecure(port) na JVM; WEB001/WEB002 no Native/JS.
banco de dados (kof.db)
DisponívelJDBC com query tipada e transaction {} na JVM; SQLite nativo via .so direto (MySQL WIP). Gap DB001 no KofJS.
ORM (kof.orm)
Disponívelentity, CRUD, where com operadores, saveAll, page, deleteAll e migrate na JVM; validado em MariaDB 11 e PostgreSQL 16, com MongoDB. Gaps ORM001/ORM002 nos demais.
logs (kof.log)
DisponívelNíveis, JSON estruturado e requestId. JVM e Native; LOG001 no KofJS.
configuração (kof.config)
DisponívelArquivo > env > profile, tipado. JVM e Native (asm próprio); CONF001 no KofJS.
tempo (kof.time)
Disponívelnow() em todos os targets.
interface (kof.ui)
DisponívelWindow, widgets, bind e layout; renderização DOM via KofJS no webview nativo (WebKitGTK) ou browser.
segurança (kof.security)
Disponívelv1 + G9 nos três targets: PBKDF2 (600k), SHA-256/512, HMAC, JWT HS256, secrets, rate limit (security.rateLimit), sessões e API keys — constant-time, secure by default; no Native, asm x86-64 sem libc.
validação (kof.validation)
Disponível13 predicados (required, notBlank, isEmail, isUrl, inRange, min/max...) nos três targets; violação vira diagnóstico VAL001.
observabilidade (kof.observability)
Disponívelhealth/readiness/liveness, contadores e gauges (counter/gauge/increment) e requestId/correlationId nos três targets.
concorrência (spawn)
Em desenvolvimentoVirtual threads na JVM com join implícito; val r = spawn f() / await r com handle tipado (JVM). Native reporta CONC001; spawn-expr e await no JS reportam CONC003.
async
Em desenvolvimentoAssincronismo como parte do runtime.
testes
DisponívelBlocos test "nome" { } + assert; kof test reporta PASS/FAIL por teste (jvm, native e js).
mensageria (kof.mq)
DisponívelPub/sub em memória com filas limitadas (subscribe, publish, queue, push, pop). JVM; MQ001 nos demais.
cliente HTTP
Disponívelhttp.get, http.post e http.status na JVM; HTTP002 nos demais targets.
processos (kof.process)
DisponívelExecução de processos externos (kof.process + kof_process_run).
rede (além do HTTP)
PlanejadoCamada de rede além do cliente HTTP.
Complexidade pertence à plataforma.
Não queremos esconder complexidade atrás de abstrações infinitas. Queremos eliminar complexidade desnecessária.
language + framework + ORM + HTTP library + JSON library + DI + messaging + async framework + testing framework + configuration framework + ...
language + stdlib + runtime
