Criando um Gerenciador de Tarefas Full-Stack com Gleam: Uma Linguagem, Todas as Plataformas

Criando um Gerenciador de Tarefas Full-Stack com Gleam: Uma Linguagem, Todas as Plataformas

Mai 01, 2026 gleam full-stack development type safety web architecture backend development frontend development cross-platform apps erlang lustre tauri

Criando um Gerenciador de Tarefas Full-Stack com Gleam: Uma Linguagem para Todos os Lugares

Desenvolvedores sonham há anos com código único que roda em qualquer lugar. Java applets, Electron, React Native e Flutter tentaram isso. Mas e se o segredo não for frameworks, e sim a linguagem certa logo de cara?

Apresento o Gleam: linguagem tipada estaticamente que compila para Erlang no backend e JavaScript no frontend. Resultado? Desenvolvimento full-stack de verdade, sem truques. Vamos ver isso na prática com um gerenciador de tarefas chamado Doable.

A Ideia Central: Um Só Código, Várias Plataformas

Frameworks prometem "escreva uma vez, rode em qualquer lugar", mas limitam o escopo. Gleam vai além: o mesmo código vira binários para ambientes diferentes.

O Doable é básico por propósito. Gerencia tarefas com create, read, update e delete. Mas esconde uma pilha completa:

  • API HTTP em JSON no Erlang com PostgreSQL
  • Frontend web reativo no navegador
  • Apps desktop para Windows, macOS e Linux via Tauri
  • Apps mobile iOS e Android, também com Tauri

Tudo na mesma linguagem. Mesmos tipos. Mesma lógica de validação.

Arquitetura: Dev Rápido, Produção Simples

No Dia a Dia do Dev

Desenvolvimento exige ciclos rápidos. Nada de esperar rebuilds. Use Docker para banco e API, hot reload em todos os fronts, testes integrados sem dor.

Setup assim:

  • PostgreSQL no Docker, bancos separados para dev e testes
  • API Gleam roda local ou Docker
  • Lustre dev server cuida do hot reload para web, desktop e mobile
  • Proxy na API mata problemas de CORS
  • Testes batem direto no router com banco de teste

Velocidade conta. 30 segundos por mudança matam a produtividade.

Na Produção, Tudo Dockerizado

Produção vira container puro. Caddy é a porta única, proxy para API Gleam e servidor de arquivos do frontend.

Web pede frontend via Caddy e API pelo proxy. Desktop e mobile bundlam o frontend local via Tauri, mas chamam API pelo Caddy. Otimizado por plataforma, mesmo app.

Pilha Técnica em Detalhes

Backend: Força do Erlang

API compila para Erlang com Wisp e Mist. Herda concorrência, tolerância a falhas e distribuição de infra de telecom. PostgreSQL traz persistência relacional confiável.

Código Compartilhado: O Grande Diferencial

Gleam brilha com projeto shared: biblioteca multi-target para Erlang e JavaScript. Tipos, validação e serialização em um lugar. Muda uma struct de task? Propaga pra todo lado.

Fim de mismatches de tipo. Compiler pega erros antes do runtime.

Frontend: Padrões da Elm Architecture

Web usa Lustre, com arquitetura Elm para estado UI previsível. Fácil de testar. Desktop e mobile seguem o mesmo, só mudam o target.

Por Que Isso Muda Seu Próximo Projeto

Apps complexos pedem type safety full-stack. Veja o impacto:

Refatoração sem medo. Altera schema no banco, atualiza tipos shared. Compiler lista os 47 pontos exatos pra mexer.

Consistência grátis. Validação uma vez em Gleam, compila pra todos.

Onboarding fácil. Time aprende uma linguagem, não três ecossistemas.

Ops simples. Menos deps, menos deploys, menos surpresas.

A Realidade Prática

Gleam vira o futuro de tudo? Não. Ecossistema menor que TypeScript ou Python afeta contratações e libs.

Mas pra apps novos full-stack com foco em tipos e código unificado? Elimina bugs inteiros.

Doable é simples de propósito. Prova que escala do básico. Apps reais adicionam camadas, mas filosofia fica: compila uma vez, valida em todos, deploy pra muitos.

Como Começar

Curtiu? Curva de aprendizado existe, mas é suave. Sintaxe lembra JavaScript, Python, Rust. Tipos fortes sem complicação inicial.

Comece pelo backend Erlang. Monte API. Adicione Lustre no front e veja tipos shared zerarem bugs. Depois de provar full-stack unificado, voltar pro antigo parece passado.

Futuro full-stack pode ser sobre linguagem que ataca todas as camadas, não ferramentas separadas.


Quer testar Gleam full-stack? Dá uma olhada na doc oficial e pense no seu próximo projeto com compilação type-safe em todas as plataformas.

Read in other languages:

RU BG EL CS UZ TR SV FI RO PL NB NL HU IT FR ES DE DA ZH-HANS EN