- Para quem lida com codebases grandes, programar no notebook pode ser um peso
- A ventoinha fica girando sem parar, os servidores de linguagem ficam sem memória e o tempo de rebuild é longo
- No Zed, é possível abrir projetos em qualquer máquina via SSH
- A UI roda totalmente localmente, entregando gráficos perfeitos a 120 fps, enquanto servidores de linguagem, tarefas e terminal rodam no servidor remoto, permitindo aproveitar hardware em nuvem
Configurando um ambiente de desenvolvimento remoto
- Para edição remota de código, o Zed vem trabalhando em mudanças de infraestrutura para oferecer suporte a SSH
- Foi preciso resolver vários problemas, como manter a conexão SSH, configurar o servidor remoto e integrar os recursos
- Para a conexão SSH, ele usa a configuração ControlMaster para manter uma única conexão por host
- Após a conexão, ele baixa o servidor remoto adequado ao sistema operacional e à arquitetura
- O servidor remoto compilado com
musl não precisa de linkagem dinâmica, então pode funcionar até em distribuições antigas
- Mesmo que a conexão caia, o servidor remoto continua em execução e, ao reconectar, os servidores de linguagem permanecem totalmente inicializados
- Alterações não salvas são salvas em backup localmente para que o trabalho não seja perdido
Colaboração e projetos via SSH
- Fazer projetos via SSH funcionarem junto com colaboração foi um desafio
- Em uma colaboração entre duas pessoas por SSH, pelo menos 4 nós podem estar envolvidos, então o protocolo de sincronização da colaboração foi testado
- O
Project foi dividido em partes lógicas para que possa ser ativado em modos remoto e local dependendo de o cliente ser host da colaboração, host SSH ou convidado da colaboração
- Novos testes instanciam cada papel e o servidor de colaboração para verificar se a sincronização ocorre corretamente
- Ao trabalhar em um projeto com um amigo ou colega, tanto faz se o projeto está no notebook ou em uma máquina acessível via SSH: isso é tratado de forma transparente
Resumo do GN⁺
- O Zed oferece aos desenvolvedores que lidam com codebases grandes um ambiente de desenvolvimento eficiente usando servidores remotos
- O recurso de desenvolvimento remoto via SSH melhora o desempenho ao aproveitar hardware em nuvem
- O recurso de colaboração dá suporte à sincronização entre vários nós, permitindo colaboração fluida
- O Zed está disponível para macOS e Linux e oferece uma nova experiência para desenvolvedores
- Um projeto semelhante com funcionalidade parecida é a extensão Remote Development do Visual Studio Code
1 comentários
Comentários do Hacker News
Programar no Mac usando Zed com SSH Remoting e Orbstack é um ambiente dos sonhos
Há curiosidade sobre o modelo de receita do Zed e se ele é open source
O recurso de desenvolvimento remoto do Zed instala e executa um binário no host remoto
Usa o Zed para desenvolvimento em C, C++, Rust e Angular e está muito satisfeito
Ao desenvolver alternando entre vários computadores, usa tmux e nvim para manter as sessões
A velocidade do Zed é ótima, mas faltam recursos essenciais como destaque de erros inline e botão para executar código
Compartilhamento de tela baseado em imagem pode ser uma escolha melhor
Quer uma solução de edição remota realmente portátil
Não é uma boa ideia executar apps desconhecidos em um servidor remoto confiável
A ausência de menção ao Emacs ou ao Tramp é preocupante