01Standard Library

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ível

List<T>, listOf, Map<K,V> e Set<T> nos três targets — no Native, asm próprio; COL001 fechado.

enum

Disponível

values(), valueOf() e name() com == por conteúdo nos três targets; switch exaustivo verificado em compile-time (SEM031).

strings

Disponível

Concat, comparação e API completa.

arquivos (kof.io)

Disponível

File, Path e Directory; texto UTF-8 e erros consistentes. Nos três targets.

JSON

Disponível

Encode/decode tipado; objetos no JVM, arrays tipados incluídos.

HTTP (kof.web)

Disponível

web.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ível

JDBC com query tipada e transaction {} na JVM; SQLite nativo via .so direto (MySQL WIP). Gap DB001 no KofJS.

ORM (kof.orm)

Disponível

entity, 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ível

Níveis, JSON estruturado e requestId. JVM e Native; LOG001 no KofJS.

configuração (kof.config)

Disponível

Arquivo > env > profile, tipado. JVM e Native (asm próprio); CONF001 no KofJS.

tempo (kof.time)

Disponível

now() em todos os targets.

interface (kof.ui)

Disponível

Window, widgets, bind e layout; renderização DOM via KofJS no webview nativo (WebKitGTK) ou browser.

segurança (kof.security)

Disponível

v1 + 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ível

13 predicados (required, notBlank, isEmail, isUrl, inRange, min/max...) nos três targets; violação vira diagnóstico VAL001.

observabilidade (kof.observability)

Disponível

health/readiness/liveness, contadores e gauges (counter/gauge/increment) e requestId/correlationId nos três targets.

concorrência (spawn)

Em desenvolvimento

Virtual 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 desenvolvimento

Assincronismo como parte do runtime.

testes

Disponível

Blocos test "nome" { } + assert; kof test reporta PASS/FAIL por teste (jvm, native e js).

mensageria (kof.mq)

Disponível

Pub/sub em memória com filas limitadas (subscribe, publish, queue, push, pop). JVM; MQ001 nos demais.

cliente HTTP

Disponível

http.get, http.post e http.status na JVM; HTTP002 nos demais targets.

processos (kof.process)

Disponível

Execução de processos externos (kof.process + kof_process_run).

rede (além do HTTP)

Planejado

Camada de rede além do cliente HTTP.

02Filosofia

Complexidade pertence à plataforma.

Não queremos esconder complexidade atrás de abstrações infinitas. Queremos eliminar complexidade desnecessária.

hoje
language
+
framework
+
ORM
+
HTTP library
+
JSON library
+
DI
+
messaging
+
async framework
+
testing framework
+
configuration framework
+
...
kof
language
+
stdlib
+
runtime