djo

Instalar

A djo é um único executável, sem dependências. Para usar, você não precisa de Go.

Baixar

Escolha o arquivo do release pelo seu sistema e processador, ou use o instalador. Ele detecta a máquina, confere o SHA256 e só então instala o djo em ~/.local/bin.

DJO_BASE_URL=<pasta do release> DJO_VERSION=v0.1.0 sh install.sh
djo version
SistemaArquivo (perfil full)
Linux x86-64 / ARM64djo-vX.Y.Z-full-linux-amd64.tar.gz, ...-arm64.tar.gz
macOS (Intel / Apple Silicon)djo-vX.Y.Z-full-darwin-amd64.tar.gz, ...-arm64.tar.gz
Windows x86-64djo-vX.Y.Z-full-windows-amd64.zip
FreeBSD x86-64djo-vX.Y.Z-full-freebsd-amd64.tar.gz

Em placas e roteadores, use DJO_PROFILE=tiny ou nano. Os binários não são assinados: o macOS e o Windows podem pedir autorização na primeira execução. Releases

Compilar do código-fonte

Só se você quiser: precisa do Go 1.26 ou mais novo.

go build -o ~/.local/bin/djo .
djo version

Primeiro programa

var nome = "mundo"
print "olá, " + nome

Salve como ola.djo e rode:

djo ola.djo

Primeiro site

Crie uma pasta com um index.djo.html e sirva:

{% var nome = Http.query:"nome" ?? "visitante" %}
<h1>Olá, {{ nome }}!</h1>
djo serve -dev meusite
# abra http://localhost:8080/?nome=Ana

Escolha o perfil

Dá para ter versões menores, tirando o que o dispositivo não usa. Nos releases, é só escolher o perfil; compilando, use ./build.sh ou as tags do Go.

PerfilTemTamanhoTags
fulllinguagem, servidor web, SQLite, Http.get~11 MBpadrão
litelinguagem, servidor web, Http.get~7 MBnodb
noweblinguagem, SQLite, Http.get~7,5 MBnoweb
tinylinguagem e Http.get/post (só saída)~7 MBnodb noweb
nanosó a linguagem, sem rede~3 MBnodb noweb nonet

Builds e IoT

Empacotar

djo build gera um executável só, com o interpretador e o seu site dentro. Copie para o servidor e rode:

djo build -o app meusite
./app -addr :8080

Empacotar