Eu ainda não conhecia a Eclipse Communication Framework e muito menos o plugin Cola (com origem de colaboração).
Em suma, passa-se a poder editar código colaborativamente no Eclipse. E quando digo colaborativamente significa dois ou mais utilizadores remotos a editarem o mesmo ficheiro simultâneamente e a verem o resultado em tempo-real.
As possibilidades que
oferece para realidades actuais como pair-programming são excelentes, ainda mais com cada vez mais equipas globais e distribuídas.
Esta área apresenta alguns obstáculos, principalmente a nível dos algoritmos necessários para sincronizar as vistas, mas também a nível do UI pois as pessoas necessitam de habituar a informação visual adicional: múltiplos cursores, código a mudar simultâneamente e, quando editam a mesma linha, o código que estamos
a editar a mover-se enquanto escrevemos (podem ver isso no screencast).
O melhor é mesmo ver os vídeos. O primeiro é um screencast a demonstrar o uso e consigo imaginar-me a fazer aquilo: ligar com o colega pelo skype para voz, convidar os intervenientes a partir do código no eclipse (utiliza um servidor de XMPP) e começar a editar. Aconselho a abrirem o video em HD no site e colocarem em fullscreen para verem bem o código.
O segundo é vídeo é uma Google Tech Talk apresentada pelo Mustafa Isik, criador do Cola, membro do ECF e ele próprio um googler.
O screencast:
A talk no Google:
Muito legal Rubén!
Fiquei bastante surpreso, estou louco para testar ahahha
Eu experimentei.
E alem de não ser consistente na inicialização da partilha (apenas consegui partilhar uma vez) é muito limitado e muito longe de puder ser utilizado em pair programing.
O utilizador remoto tem uma perspectiva muito reduzida da partilha. Na realidade é apenas uma partilha de um editor sem java sintax ou todos os outros recursos que abusamos dos nossos ide’s.
Eu também ainda quero experimentar este fim-de-semana para ter uma opinião mais concreta.
Isso da inicialização da partilha posso apenas calcular que venha a ser resolvido com o tempo e não seja um problema de desenho.
Em relação ao utilizador remoto, isso vou ter de averiguar. Há imensos obstáculos neste tipo de edicções como, por exemplo, fazer refactorings à classe enquanto estão ambos a escrever. Na demo ao que parece mesmo a ajuda contextual não estava ainda a funcionar e não tenho a mínima ideia da evolução.
De qualquer forma é uma framework genérica e penso que deverá funcionar com qualquer linguagem. Como tal, penso que teriam de estender cada editor diferente do eclipse para o dotar das capacidades (ou vice-versa). Mas isto sou eu a falar que nada sei de desenvolvimento de plugins eclipse.
Este fim-de-semana experimento e dou também o meu feedback.