Capitulo 5: Colaboracion en Tiempo Real con Zed

Por: SiempreListo
zededitorcolaboracionpair-programmingcanalescrdt

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

  1. Abre Zed
  2. Ve a la paleta de comandos > “zed: sign in”
  3. Autoriza con tu cuenta de GitHub
  4. 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

  1. Abre el panel de colaboracion
  2. Haz click en “Add Contact”
  3. Ingresa el nombre de usuario de GitHub
  4. El contacto recibe una solicitud de amistad

Iniciar una Llamada Privada

  1. Pasa el cursor sobre un contacto en linea
  2. Haz click en el icono de llamada
  3. 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

  1. En el panel de colaboracion, haz click en “New Channel”
  2. Asigna un nombre descriptivo (ej: “backend-api”, “frontend-app”)
  3. 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

  1. Abre el proyecto que quieres compartir
  2. Ve a la paleta de comandos > “collab: share project”
  3. Selecciona el canal donde compartir
  4. 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:

  1. Abre tu proyecto en Zed
  2. Paleta de comandos > “collab: share project”
  3. 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:

  1. Recibes acceso al arbol de archivos del host
  2. Puedes navegar, leer y editar archivos
  3. Tus cambios se sincronizan en tiempo real
  4. 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

  1. El host comparte el proyecto
  2. Ambos desarrolladores abren el mismo archivo
  3. Uno escribe codigo, el otro revisa en tiempo real
  4. Pueden seguirse mutuamente con following
  5. 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

  1. Abre el panel de chat desde el canal o la sesion
  2. Escribe tu mensaje en el campo de texto
  3. Presiona Enter para 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

  1. Usa canales para equipos permanentes, llamadas privadas para sesiones puntuales
  2. Establece roles claros en pair programming (driver/navigator)
  3. Aprovecha las notas del canal para documentar decisiones
  4. Comparte solo con personas de confianza: el acceso es total al proyecto
  5. Combina following con chat para sesiones de code review en vivo

Anterior: Capitulo 4: Integracion con IA | Siguiente: Capitulo 6: Git, Terminal y Depuracion