Capitulo 5: Colaboracion en Tiempo Real con Zed
Capitulo 5: Colaboracion en Tiempo Real
Zed fue diseñado desde el inicio para la colaboracion. Su capa de replicacion basada en CRDT permite edicion simultanea con latencia minima, ya sea con compañeros en la misma oficina o al otro lado del mundo.
Anterior: Capitulo 4: Integracion con IA | Siguiente: Capitulo 6: Git, Terminal y Depuracion
Requisitos
Para usar las funciones de colaboracion necesitas:
- Cuenta de GitHub: Zed usa GitHub como proveedor de identidad
- Conexion a internet: Para la sincronizacion en tiempo real
- Zed actualizado: Usa la ultima version estable
Iniciar Sesion
- Abre Zed
- Ve a la paleta de comandos > “zed: sign in”
- Autoriza con tu cuenta de GitHub
- Tu nombre de usuario aparecera en la esquina superior derecha
Panel de Colaboracion
Abre el panel de colaboracion desde la paleta de comandos > “collab panel: toggle focus” o con el icono de personas en la barra lateral.
El panel tiene dos secciones principales:
- Canales: Salas de proyecto permanentes para equipos
- Contactos: Lista de contactos para colaboracion directa
Contactos y Llamadas Privadas
Agregar Contactos
- Abre el panel de colaboracion
- Haz click en “Add Contact”
- Ingresa el nombre de usuario de GitHub
- El contacto recibe una solicitud de amistad
Iniciar una Llamada Privada
- Pasa el cursor sobre un contacto en linea
- Haz click en el icono de llamada
- Tu contacto recibe una notificacion y puede unirse
Las llamadas privadas son ideales para sesiones de pair programming ad-hoc.
Canales
Los canales son salas permanentes donde los miembros del equipo pueden compartir proyectos, colaborar en codigo y mantener conciencia ambiental de lo que todos estan trabajando.
Crear un Canal
- En el panel de colaboracion, haz click en “New Channel”
- Asigna un nombre descriptivo (ej: “backend-api”, “frontend-app”)
- Invita miembros por su usuario de GitHub
Estructura de Canales
Los canales soportan jerarquia. Puedes crear subcanales para organizar por equipo o proyecto:
mi-empresa/
backend/
api-rest
microservicios
frontend/
web-app
mobile
devops/
Compartir un Proyecto en un Canal
- Abre el proyecto que quieres compartir
- Ve a la paleta de comandos > “collab: share project”
- Selecciona el canal donde compartir
- Los miembros del canal veran tu proyecto disponible
Notas del Canal
Cada canal tiene un buffer de notas compartido donde el equipo puede escribir notas, enlaces, decisiones y contexto de forma colaborativa.
Compartir Proyectos
Como Host (Anfitrion)
Para compartir tu proyecto con otros:
- Abre tu proyecto en Zed
- Paleta de comandos > “collab: share project”
- Los participantes pueden unirse y ver tus archivos
Importante: Compartir un proyecto da acceso de lectura y escritura a los archivos. Solo comparte con personas de confianza.
Como Guest (Invitado)
Cuando te unes al proyecto de otro:
- Recibes acceso al arbol de archivos del host
- Puedes navegar, leer y editar archivos
- Tus cambios se sincronizan en tiempo real
- Cada participante tiene su propio cursor visible
Following (Seguimiento)
La funcion de “following” te permite seguir el cursor y la vista de otro participante en tiempo real.
Activar Following
- Haz click en el avatar del participante que quieres seguir
- Tu vista se sincronizara automaticamente con la suya
- Veras que archivos abre, donde posiciona el cursor y que edita
Desactivar Following
- Haz click en cualquier lugar del editor
- Navega a otro archivo
- Haz click nuevamente en el avatar
Usos del Following
- Code review en vivo: Sigue al reviewer mientras examina tu codigo
- Onboarding: El nuevo miembro sigue al senior mientras explica la arquitectura
- Demostraciones: Todos siguen al presentador
Pair Programming
Zed esta optimizado para pair programming. A diferencia de herramientas que comparten pantalla, en Zed cada persona tiene su propio cursor, teclado y raton.
Ventajas sobre Screen Sharing
- Cada persona controla su vista: Puedes navegar independientemente
- Multiples cursores simultaneos: Ambos pueden editar al mismo tiempo
- Latencia minima: Gracias a la replicacion CRDT, los cambios se ven al instante
- Sin overhead de video: No consume ancho de banda de video
Flujo de Pair Programming
- El host comparte el proyecto
- Ambos desarrolladores abren el mismo archivo
- Uno escribe codigo, el otro revisa en tiempo real
- Pueden seguirse mutuamente con following
- Usan el chat para coordinar sin salir del editor
Driver-Navigator con Following
El patron clasico de pair programming funciona naturalmente:
- Driver: Escribe codigo activamente
- Navigator: Activa following para ver lo que hace el driver, sugiere cambios por chat
- Intercambian roles periodicamente
Chat Integrado
Cada canal y sesion de colaboracion tiene chat integrado para comunicacion sin salir del editor.
Funcionalidades del Chat
- Mensajes de texto en tiempo real
- Soporte para markdown en mensajes
- Historial persistente en canales
- Notificaciones de nuevos mensajes
Uso del Chat
- Abre el panel de chat desde el canal o la sesion
- Escribe tu mensaje en el campo de texto
- Presiona
Enterpara enviar
Arquitectura CRDT
Zed usa Conflict-free Replicated Data Types (CRDT) para la sincronizacion:
- Sin conflictos: Los cambios simultaneos se resuelven automaticamente
- Eventualmente consistente: Todos los participantes convergen al mismo estado
- Offline-tolerant: Los cambios se sincronizan cuando la conexion se reestablece
- Baja latencia: La replicacion es local-first, la red se usa para sincronizar
Esto significa que incluso con conexiones lentas, la experiencia de edicion se mantiene fluida.
Consejos para Colaboracion Efectiva
- Usa canales para equipos permanentes, llamadas privadas para sesiones puntuales
- Establece roles claros en pair programming (driver/navigator)
- Aprovecha las notas del canal para documentar decisiones
- Comparte solo con personas de confianza: el acceso es total al proyecto
- Combina following con chat para sesiones de code review en vivo
Anterior: Capitulo 4: Integracion con IA | Siguiente: Capitulo 6: Git, Terminal y Depuracion