Bối cảnh
- KakaoTalk là ứng dụng nhắn tin được hơn 99% người sống tại Hàn Quốc sử dụng
- Tuy nhiên, ứng dụng khách chính thức chỉ hỗ trợ Windows và macOS, hoàn toàn không hỗ trợ Web hay Linux (không tính Android và iOS)
- Có thể cố chạy bằng Wine, nhưng do lỗi nên ứng dụng bị tắt ngay sau khi khởi chạy hoặc không thể dùng thực tế vì các lỗi nghiêm trọng (không thể tải phòng chat, không thể tải xuống tệp lớn hay hình ảnh)
- Vì vậy, tôi quyết định tạo một ứng dụng khách hoạt động tốt cả trong môi trường Linux
Phát triển
- Ban đầu tôi sử dụng React.js và nw.js. Tuy nhiên, mã nguồn trở nên quá đồ sộ nên rất khó bảo trì (đặc biệt là việc quản lý trạng thái của React và khái niệm JavaScript context của nw.js quá dễ gây ra vấn đề)
- Để giải quyết vấn đề này, gần đây tôi đã tiến hành viết lại bằng SolidJS và Tauri
- Ở trạng thái hiện tại, ứng dụng đã có thể thực hiện các chức năng đơn giản như đăng nhập và thông báo chat
Tiếp theo...
- Tôi dự định sẽ triển khai để hành vi của ứng dụng khách KakaoTalk trên Windows và macOS, nếu có thể, hoạt động giống hệt nhau
- Tuy nhiên, vẫn còn quá nhiều tính năng cần triển khai và cũng cần nghiên cứu nhiều về giao thức không công khai
- Tôi sẽ thật sự rất biết ơn nếu nhận được đóng góp hoặc phản hồi từ mọi người!
17 bình luận
Những thử nghiệm như thế này thật sự rất tuyệt, không hiểu sao Kakao đến giờ vẫn chưa tự làm những thứ như vậy,,,, nhìn việc nhà phát triển phụ trách ứng dụng KakaoTalk cho Windows Phone chỉ có 1 người thì có thể thấy họ thực sự quá thờ ơ với các nền tảng không phải chủ lưu (dù Linux không hẳn là không phải chủ lưu..).
Cầu nối Matrix cho Kakaotalk
Mình hy vọng Kakao sẽ phản hồi theo hướng tích cực... và mong rằng những động thái như thế này sẽ trở thành chất xúc tác tốt để Kakao tạo ra một môi trường cởi mở hơn một chút. (Ví dụ như mở API...)
Tôi là người dùng Linux. Chỉ xin ủng hộ thôi.
Mong rằng Kakao không phải là kiểu công ty can thiệp cả vào những nỗ lực như thế này..
Tôi cũng dùng Linux làm hệ điều hành chính, nên sẽ cài đặt ngay và dùng thử~
Wow.. với tư cách là người dùng Linux thì đây đúng là thông tin quý như vàng..! Về nhà mình sẽ thử dùng một lần. Mình đoán có lẽ họ đã đảo ngược giao thức, nên cũng hơi lo liệu khi được công khai dưới dạng mã nguồn mở thì có thể phát sinh vấn đề hay không.
Tôi nghĩ định hướng phát triển của KiwiTalk tự thân là tốt. Tuy nhiên, những client không chính thức như thế này rõ ràng vi phạm chính sách vận hành của Kakao. Đã có biện pháp đối phó nào cho việc này chưa?
Để không gây ảnh hưởng tiêu cực đến phía Kakao, chúng tôi cố gắng mô phỏng hành vi của ứng dụng khách gốc một cách tối đa. (kể cả những hành vi mang tính lỗi)
Tuy nhiên, KiwiTalk không phải là ứng dụng khách do Kakao tạo ra hoặc ủy quyền, vì vậy bạn nhất định phải tự cân nhắc và sử dụng dưới trách nhiệm của chính mình.
Có kế hoạch phát triển plugin giao thức cho pidgin không?
Đây đúng là một hướng phát triển rất đáng mong đợi.
Liệu có rủi ro bất lợi nào khi sử dụng giao thức LOCO chưa được phê duyệt không?
Vì KiwiTalk có thể hoạt động khác với client gốc và điều đó có thể gây bất lợi cho tài khoản của người dùng, nên mục tiêu là triển khai sao cho hành vi của nó giống với client gốc nhiều nhất có thể. Cảm ơn bạn đã góp ý!
Trước đây phải tự build nên khá khó để dùng thử.
Giờ thì anh/chị cũng đã phát hành cả phiên bản đã build sẵn rồi nhỉ.
Tôi đã tò mò về nó nên chắc phải thử một lần mới được.
Tôi không rành mảng này nên có thể đây là một câu hỏi hơi ngớ ngẩn, nhưng liệu có thể dùng nó dưới dạng tiện ích mở rộng cho trình duyệt web không? Dù đã có native client cho Windows và Mac, nhưng với tôi thì sẽ rất tuyệt nếu cũng có thể dùng ngay trong trình duyệt web trên Windows hoặc Mac. Ngoài ra, có vẻ nó cũng sẽ rất hữu ích trên Chromebook. (Tất nhiên Chromebook cũng có thể chạy chương trình Linux native, nhưng nếu là nền web thì có lẽ sẽ dễ dùng hơn.)
Hiện tại, mục tiêu chỉ là sử dụng ổn định trong môi trường Linux. Cảm ơn bạn đã góp ý!
Trông có vẻ ổn đấy! Nhưng liệu có vấn đề pháp lý nào không? Ý là, nếu trong điều khoản sử dụng KakaoTalk có nội dung liên quan, thì có khả năng những người đóng góp cho dự án hoặc cả người dùng thông thường sẽ không thể khiếu nại quyền lợi ngay cả khi tài khoản của họ bị đình chỉ hay sao..
Theo tôi biết thì không thể bị khóa riêng chỉ vì là người đóng góp cho dự án, nhưng nếu KiwiTalk có hành vi khác với client gốc thì tài khoản có thể bị khóa.
Vì vậy, mục tiêu là tái hiện tối đa ngay cả các hành vi mang tính lỗi của client gốc sao cho giống hệt.
(Vì mục tiêu là sử dụng bình thường trên thiết bị Linux)