Pular para o artigo

O que não funciona

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

Nenhum servidor seu

Nada de PHP, Node, Python ou banco de dados. Nada seu roda quando alguém abre o site: o navegador recebe arquivos, e tudo o que o seu JavaScript faz, ele faz ali, no navegador.

Isso 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ó arquivos, cada site no próprio endereço, separado de todos os outros. Rodar 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 acessa, e o Solta deixaria de ser algo seguro para incorporar no site da sua empresa.

Nenhum segredo no arquivo

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

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

O que costuma surpreender

  • Os imports do npm funcionam: o Solta cuida dos componentes React, Tailwind e shadcn/ui para você. Ele reescreve o import para uma versão fixa, e o navegador busca o pacote em esm.sh quando alguém abre o site. Então o navegador de um visitante fala com o esm.sh, além de falar conosco, e um pacote que não está no esm.sh não é encontrado.
  • Buscar dados de uma API a partir do site funciona, desde que essa API deixe outros sites chamá-la. Quem decide são as configurações dela (chamadas CORS), não as nossas.
  • O armazenamento local funciona, e é separado por site: cada um tem o próprio endereço, então dois sites não conseguem ler os dados um do outro.
  • Um arquivo que fica pronto, mas dá erro quando roda, é publicado, e mostra o que conseguiu desenhar antes do erro, muitas vezes uma página em branco. O console do navegador diz por quê. Página em branco mostra o passo a passo.