- Ambiente de desenvolvimento colaborativo em tempo real baseado no navegador, desenvolvido para superar as limitações das ferramentas de colaboração tradicionais baseadas em documentos, que não são adequadas para aulas ou programação em par
- Projetado para quebrar a ideia fixa de que "programação colaborativa em tempo real é complexa", permitindo que qualquer pessoa comece a programar junto imediatamente por meio de Zero Setup, tempo real de verdade e uma UI intuitiva
- Suporte a pré-visualização em tempo real pixel-perfect: assim que o código HTML/CSS/JS é escrito, ele é refletido imediatamente no WebView
- Recursos de colaboração: com base em Operational Transformation, vários usuários podem digitar simultaneamente sem conflitos
- Editor no estilo VS Code: oferece interface familiar com Monaco Editor, além de autocompletar, destaque de sintaxe e exibição de erros
- Inclui um terminal no navegador baseado em Xterm.js para verificar entrada e saída
- Execução sem instalação: pode ser usado imediatamente apenas com um navegador
- Licença GNU AGPL 3.0
Stack de tecnologia
- Frontend: React, TypeScript, Tailwind CSS, Zustand, Xterm.js, Monaco Editor
- Backend: Java Spring Boot, WebSocket, Jackson
- Sincronização em tempo real: algoritmo personalizado de Operational Transformation
- Processamento de mensagens: processamento atômico de dados com Redis + scripts Lua
- Hospedagem: frontend no Vercel, backend na AWS EC2, Redis no ElastiCache
Operational Transformation (OT)
- OT é a tecnologia central que permite a edição simultânea de documentos em tempo real, e o Google Docs também se baseia nisso
- O CodeCafé implementa OT diretamente para oferecer suporte ao seguinte:
- Detecção e transformação de entradas simultâneas
- Preservação de intenção e resolução de conflitos
- Manutenção da sincronização de estado entre clientes
- Com isso, oferece uma experiência de usuário natural e fluida em ambientes de colaboração em tempo real
Planos futuros
- Autenticação de usuários e salvamento de projetos
- Integração de chat por voz/texto
- Recurso de reprodução do histórico de programação
- Expansão do suporte a vários idiomas
3 comentários
Já existe o
code server, então não entendo muito bem qual é o diferencial, masseria bom se adicionassem chat e reprodução do histórico de código
Isso me lembra um recurso chamado Live Share no VSCode
Tinha chat em tempo real, dava para colocar o código e editar ao mesmo tempo
Mas, mesmo quando eu usava para orientar juniores, dar aulas online ou apresentar, o pessoal não acabava usando muito bem
Assim como o Zed, não sei até que ponto existe tanta demanda por trabalho simultâneo em tempo real. Também parece haver a questão de que todas as pessoas trabalhando precisariam usar o mesmo editor, e, por ser um tipo de software em que desempenho e experiência do usuário são realmente importantes..