Pular para o conteúdo
Nesta página

Desenvolvimento Web com Zolo

A stack web do Zolo é construída com recursos normais da linguagem, sem uma linguagem de template paralela. Verniz é a camada de renderização e interatividade: componentes são funções, markup vira chamadas Zolo comuns e o servidor entrega HTML correto antes do JavaScript iniciar.

A stack

Camada Para que serve Suporte atual
std::html / Verniz View, markup, escape, ilhas, actions e CSS escopado VM, LLVM e Cranelift
std::http Rotas, requests, responses, middleware e servidor HTTP nativo VM, LLVM e Cranelift
std::web Efeitos Request e Cookies com envelopes seguros Apenas VM por enquanto
zolo dev Swaps do servidor, revalidação do navegador e overlay de erros VM de desenvolvimento
zolo build Binários de produção standalone LLVM ou Cranelift

O limite VM-only vale para a camada de efeitos/cookies de std::web, não para Views, ilhas, actions ou CSS escopado do Verniz.

Uma primeira página completa

use std::http
use std::html::{document, head, meta, title, body, main, h1, p, View}

fn page(_req) -> View {
    <document lang="pt-BR">
        <head>
            <meta charset="utf-8"/>
            <title>Olá do Zolo</title>
        </head>
        <body>
            <main>
                <h1>Olá do Verniz</h1>
                <p>Este HTML foi renderizado pelo Zolo.</p>
            </main>
        </body>
    </document>
}

let app = http.router() |> http.get("/", page)
http.serve(3000, app)

Rode com desenvolvimento web ao vivo:

zolo dev src/main.zolo

Ao alcançar http.serve, zolo dev entra no modo web automaticamente. Abra a URL impressa pela CLI. Use zolo run para uma execução única na VM ou zolo build para o binário de produção.

Escolhendo a porta de entrada

  • Retorne uma View para páginas e fragmentos HTML.
  • Retorne um map para APIs JSON e uma string para texto simples.
  • Use std::http quando handlers recebem o request explicitamente.
  • Use std::web quando código aninhado precisa acessar request ou cookies via efeitos.
  • Marque apenas regiões interativas com @island; o restante continua HTML renderizado no servidor.
  • Marque funções remotas com @action; funções públicas nunca são expostas implicitamente.

Teste no navegador

O Verniz Lab roda o compilador e a VM do Zolo por WebAssembly e renderiza o documento em um preview isolado. Views, markup, CSS escopado e signals de ilhas funcionam sem instalar nada.

O Lab não simula um servidor TCP. Rotas, @action, cookies, bancos e o canal de reload do zolo dev exigem a CLI local.

O que existe hoje

Verniz já inclui Views server-rendered, markup parecido com HTML, interpolação com escape, corpos raw de style e script, CSS escopado, @island, signals graváveis e derivados, effects, eventos DOM, atributos reativos, bind:prop, @action, revalidação de rota e swaps de desenvolvimento que preservam estado.

Reconciliação de listas reativas, contratos Wire tipados, verificação de vazamento @secret e formulários com refinement types ainda são trabalho futuro.

Próximo: Views e Markup do Verniz.

Buscar no Zolo

9 resultados

enpt-br