36 pontos por shlee1503 2023-10-04 | 17 comentários | Compartilhar no WhatsApp

Contexto

  • O KakaoTalk é um mensageiro usado por mais de 99% das pessoas que vivem na Coreia do Sul
  • Porém, o cliente oficial só oferece suporte a Windows e macOS; não há suporte algum para Web ou Linux (excluindo Android e iOS)
  • É possível forçar a execução usando Wine, mas por causa de erros ele fecha ou nem chega a abrir, e devido a bugs graves não dá para usar no dia a dia (não é possível carregar salas de chat nem baixar arquivos grandes ou imagens)
  • Por isso, decidi criar um cliente que funcione bem também em ambiente Linux

Desenvolvimento

  • No início, usei React.js e nw.js. Porém, o código ficou grande demais e difícil de manter (em especial, o gerenciamento de estado do React e o conceito de contexto JavaScript do nw.js facilitavam muito o surgimento de problemas)
  • Para resolver isso, recentemente reescrevi o projeto em SolidJS e Tauri
  • No estado atual, já é possível fazer operações simples como login e notificações de chat

Daqui para frente...

  • Pretendo implementar, na medida do possível, todo o comportamento do cliente do KakaoTalk para Windows e macOS de forma idêntica
  • No entanto, há muitas funcionalidades para implementar e também será necessário estudar bastante o protocolo fechado
  • Ficarei muito agradecido por contribuições ou feedback!

17 comentários

 
bedull0909 2023-10-07

Gosto muito desse tipo de iniciativa. Fico me perguntando por que a Kakao não fez algo assim por conta própria até agora... vendo que havia apenas 1 desenvolvedor responsável pelo app do KakaoTalk para Windows Phone, dá para perceber como eles realmente não ligam para plataformas fora do mainstream (embora Linux não seja exatamente uma delas...).

 
botplaysdice 2023-10-06

Espero que a Kakao reaja de forma positiva... e que esse tipo de movimento sirva como um bom estímulo para a Kakao criar um ambiente mais aberto. (como abrir a API, por exemplo...)

 
derse 2023-10-05

Sou usuário de Linux. Só vou apoiar.
Espero que a Kakao não seja uma empresa que atrapalhe até esse tipo de esforço..

 
geekbini 2023-10-05

Eu também uso Linux como sistema principal, então vou instalar agora mesmo e testar~

 
bbulbum 2023-10-05

Uau... para mim, como usuário de Linux, isso é uma informação valiosíssima..! Vou testar quando chegar em casa. Fico pensando se não deve ter havido alguma engenharia reversa do protocolo, então também me preocupa se isso não pode gerar algum problema quando for disponibilizado como open source.

 
viento 2023-10-05

Acho que a direção de desenvolvimento do KiwiTalk em si é boa. No entanto, esse tipo de cliente não oficial claramente viola as políticas de operação da Kakao. Já existe alguma medida preparada em relação a isso?

 
shlee1503 2023-10-05

Para não causar um impacto negativo à Kakao, buscamos reproduzir ao máximo o comportamento do cliente original. (Até mesmo comportamentos que parecem bugs)
No entanto, como o KiwiTalk não é um cliente criado nem autorizado pela Kakao, você deve usá-lo necessariamente por sua própria decisão e responsabilidade.

 
vbalien 2023-10-05

Não há planos para desenvolver um plugin de protocolo para o pidgin?

 
bichi 2023-10-05

Uma direção de desenvolvimento muito desejável.

 
hsng95 2023-10-05

Não haveria algum prejuízo por usar o protocolo LOCO sem aprovação?

 
shlee1503 2023-10-05

Como pode haver desvantagens para a conta do usuário caso o KiwiTalk se comporte de forma diferente do cliente original,
o objetivo é implementá-lo para que funcione da forma mais idêntica possível ao cliente original. Obrigado pelo comentário!

 
test4458 2023-10-05

Antes era difícil experimentar porque precisava fazer o build manualmente
agora vocês também estão distribuindo uma versão já compilada

Fiquei curioso, vou testar

 
botplaysdice 2023-10-05

Posso estar fazendo uma pergunta boba porque sou leigo nessa área, mas será que daria para usar isso no formato de extensão de navegador? Existem clientes nativos para Windows e Mac, mas eu acharia muito bom poder usar pelo navegador também nesses sistemas. Além disso, parece que isso também poderia ser muito útil em Chromebooks. (Claro, o Chromebook consegue executar programas Linux nativos, mas se fosse baseado na web, acho que seria mais fácil de usar.)

 
shlee1503 2023-10-05

No momento, nosso objetivo é apenas o uso normal em ambiente Linux. Agradecemos pelo comentário!

 
dogtree 2023-10-04

Parece muito bom! Mas por acaso não há algum problema jurídico? Quero dizer, talvez exista algo nos termos de uso do KakaoTalk relacionado a isso, de modo que os colaboradores do projeto ou até mesmo os usuários comuns não possam reivindicar seus direitos mesmo que suas contas sejam suspensas, ou algo assim..

 
shlee1503 2023-10-04

Até onde sei, o fato de ser colaborador do projeto não impede uma suspensão separada, mas, se o KiwiTalk apresentar um comportamento diferente do cliente original, a conta pode ser suspensa.
Por isso, o objetivo é reproduzir o máximo possível até mesmo os comportamentos com cara de bug do cliente original.
(Pois o objetivo é permitir o uso normal em dispositivos Linux)