16 puntos por GN⁺ 2024-11-01 | 1 comentarios | Compartir por WhatsApp
  • Para quienes trabajan con bases de código grandes, programar desde una laptop puede ser una carga
  • El ventilador no deja de girar, los servidores de lenguaje se quedan sin memoria y los tiempos de recompilación son largos
  • En Zed se puede abrir un proyecto en cualquier equipo mediante SSH
  • La UI se ejecuta completamente en local y ofrece gráficos perfectos a 120 fps, mientras que los servidores de lenguaje, las tareas y la terminal se ejecutan en el servidor remoto para aprovechar el hardware en la nube

Configuración del entorno de desarrollo remoto

  • Para la edición remota de código, Zed ha venido realizando cambios en la infraestructura para soportar SSH
  • Tuvieron que resolver diversos problemas, como mantener la conexión SSH, configurar el servidor remoto e integrar las funciones
  • Para la conexión SSH usan la configuración ControlMaster para mantener una sola conexión por cada host
  • Después de conectarse, descargan el servidor remoto adecuado para el sistema operativo y la arquitectura
  • El servidor remoto compilado con musl no requiere enlace dinámico, por lo que puede funcionar incluso en distribuciones antiguas
  • Incluso si la conexión se corta, el servidor remoto sigue ejecutándose y, al reconectarse, los servidores de lenguaje se mantienen en un estado completamente inicializado
  • Los cambios no guardados se respaldan localmente para no perder el trabajo

Colaboración y proyectos SSH

  • Hacer que los proyectos SSH funcionaran junto con la colaboración fue un reto
  • Como al menos 4 nodos pueden intervenir en una sesión colaborativa de 2 personas mediante SSH, probaron el protocolo de sincronización de colaboración
  • Dividieron Project en piezas lógicas para que el cliente pueda activarlas en modo remoto y local según sea host de colaboración, host SSH o invitado de colaboración
  • Con nuevas pruebas, instanciaron cada rol y el servidor de colaboración para verificar que la sincronización ocurra correctamente
  • Cuando se trabaja en un proyecto con un amigo o colega, se maneja de forma transparente si el proyecto está en la laptop o en un equipo accesible por SSH

Resumen de GN⁺

  • Zed ofrece a los desarrolladores que trabajan con bases de código grandes un entorno de desarrollo eficiente aprovechando servidores remotos
  • La función de desarrollo remoto mediante SSH mejora el rendimiento al aprovechar hardware en la nube
  • La función de colaboración soporta la sincronización entre varios nodos, lo que permite colaborar sin fricciones
  • Zed está disponible en macOS y Linux, y ofrece una nueva experiencia para los desarrolladores
  • Otro proyecto con funciones similares es la extensión Remote Development de Visual Studio Code

1 comentarios

 
GN⁺ 2024-11-01
Comentarios de Hacker News
  • Programar en una Mac usando Zed, SSH Remoting y Orbstack es un entorno soñado

    • En Orbstack se puede levantar una máquina Linux en segundos y conectarse por SSH desde Zed para obtener un entorno de desarrollo Linux rápido
    • Se siente como una versión de macOS de WSL y VSCode, pero mejor
    • Estuvo inspirado por trabajos pasados de Mitchell Hashimoto
    • Se usaron VMware y Docker Desktop, pero eran pesados para conseguir un entorno de desarrollo fluido y rápido
    • Gracias a Zed y Orbstack se obtuvo un sistema rápido y elegante
  • Hay curiosidad sobre el modelo de ingresos de Zed y si es open source

    • Preocupa construir un flujo de trabajo que dependa de un producto de una empresa
  • La función de desarrollo remoto de Zed instala y ejecuta un binario en el host remoto

    • La máquina local se conecta al servidor remoto mediante SSH y Zed descarga e inicia el servidor
  • Se usa Zed para desarrollo en C, C++, Rust y Angular, y la satisfacción es muy alta

    • Se han probado varias herramientas como JetBrains, vscode y vim, pero Zed destaca para programar en el día a día
    • No se puede usar para desarrollo en C# porque le faltan funciones de depuración
    • Presume una velocidad de respuesta muy rápida
  • Al desarrollar entre varias computadoras, se usan tmux y nvim para mantener las sesiones

    • Parece que ni Zed ni VS Code soportan este caso de uso
  • La velocidad de Zed es buena, pero le faltan funciones esenciales como el resaltado de errores en línea y botones para ejecutar código

    • En este momento, Zed IDE se siente más como un editor de texto ligero con soporte de IA
  • Compartir pantalla basado en imágenes podría ser una mejor opción

    • La función de colaboración de Zed es buena, pero hay que considerar problemas de compatibilidad con otras apps
  • Se quiere una solución de edición remota verdaderamente portátil

    • Las soluciones de Zed o vscode, que requieren instalar un servidor en el servidor remoto, no son adecuadas
    • Cuando el entorno remoto es distinto, no es fácil copiar un proyecto y hacerlo funcionar
    • La función de Zed es buena y está evolucionando, así que la percepción es positiva
  • Ejecutar apps desconocidas en un servidor remoto confiable no es una buena idea

    • Es más rápido procesar todo en local
    • Se pueden manejar archivos aprovechando las funciones integradas de SSH
  • Preocupa que no haya ninguna mención de Emacs o Tramp

    • Parece que solo se están enfocando en la fiebre de la IA