Saltar para o artigo
Solta

O que não funciona

O Solta serve ficheiros estáticos: os seus ficheiros chegam ao navegador tal como estão, e nada seu corre do nosso lado. É um limite real, com uma fronteira real, e é melhor saber onde fica antes de colar alguma coisa do que depois.

Nenhum servidor seu

Nada de PHP, Node, Python ou base de dados. Nada seu corre quando alguém abre o site: o navegador recebe ficheiros, e tudo o que o seu JavaScript faz, faz ali, no navegador.

Isto não é algo que ainda vamos fazer. Toda a segurança daqui vem dessa única decisão: o que as pessoas publicam são só ficheiros, cada site no seu próprio endereço, separado de todos os outros. Correr o código de servidor de outra pessoa exigiria uma máquina isolada para cada cliente, com limites para o que cada uma usa e alcança, e o Solta deixaria de ser algo seguro para incorporar no site da sua empresa.

Nenhum segredo no ficheiro

Tudo o que está no ficheiro pode ser lido por qualquer pessoa que abra o site. Isso vale para qualquer site estático, e é por isso que recusamos ficheiros com chaves de API em vez de publicar e avisar.

Um site que precisa de chamar um modelo é a exceção, e é a única: a sua chave fica guardada aqui, a página faz o pedido ao seu próprio endereço, e a chave nunca está em nada que um visitante consiga ler. Qualquer outro tipo de chave continua a precisar de um servidor seu, que é a secção anterior.

O que costuma surpreender

  • Os imports do npm funcionam: o Solta trata dos componentes React, Tailwind e shadcn/ui sem que tenha de fazer nada. Reescreve o import para uma versão fixa, e o navegador vai buscar o pacote a esm.sh quando alguém abre o site. Por isso, o navegador de um visitante fala com o esm.sh, além de falar connosco, e um pacote que não esteja no esm.sh não é encontrado.
  • Ir buscar dados a uma API a partir do site funciona, desde que essa API deixe outros sites chamá-la. Quem decide são as definições dela (chamadas CORS), não as nossas.
  • O armazenamento local funciona, e é separado por site: cada um tem o seu próprio endereço, por isso dois sites não conseguem ler os dados um do outro.
  • Um ficheiro que fica pronto, mas dá erro quando corre, é publicado, e mostra o que conseguiu desenhar antes do erro, muitas vezes uma página em branco. A consola do navegador diz porquê. Página em branco explica passo a passo.