Halloy - 현대적인 IRC 클라이언트
(github.com/squidowl)- Rust 언어로 개발된 무료 오픈소스 IRC 클라이언트
- 현대적인 Iced GUI 라이브러리를 사용하여 빠르고 단순한 인터페이스를 제공하며, 맥/윈도우/리눅스 등 지원
- 최신 프로토콜인 IRCv3.2와 SASL 인증 및 파일 전송용 DCC Send 지원
- 다양한 편의 기능으로 채팅 생산성 향상
- 사용자 지정 테마 및 알림
- 키보드 단축키, 자동 완성(닉네임, 명령어, 채널 등)
- 여러 서버와 여러 채널을 동시에 관리
- 커맨드 바를 통한 빠른 명령 실행 가능
-
IRCv3.2 기능 지원
- account-notify, away-notify, batch, cap-notify, chathistory, chghost 등 IRCv3.2 고급 기능 다수 지원
- message-tags, multi-prefix, read-marker, sasl-3.1, server-time, standard replies 등 지원
Hacker News 의견
-
나는 이 앱을 꼭 써보고 싶지만, 스크린 리더로 접근이 되지 않는 현상 때문에 어려움을 겪음. 아마도 이 현상은 GUI 라이브러리의 접근성 미지원 때문이라고 생각함. Iced GitHub에서 2024년에 접근성 지원이 예정되어 있다는 이슈를 찾았고, 올해 2월 마지막으로 댓글이 달린 것을 확인함 (관련 이슈 링크). 이 기능이 개선되면 다시 시도해볼 계획임. 접근성 기능이 반드시 필요한 사용자도 HN에 실제로 존재함을 알리고 싶어서 댓글을 남김. 접근성 기능 개발에 항상 감사함을 느낌
- Iced의 로드맵 문서도 있는데 (로드맵 링크), 스크린 리더 접근성 지원이 적어도 다음다음 버전에서 예정되어 있음
-
여러 서버에서 수많은 채널을 사용하다 보면 탭이 없어서 사용이 불편해짐. 트레이에 최소화도 되지 않고 항상 실행 상태를 유지해야 하는 점도 다소 번거로움. 당분간 Quassel을 계속 쓸 계획임. 그래도 정말 멋진 작업임에 감탄함
-
좀 더 탭처럼 보이도록 하기 위해 다음 설정을 추가함
[actions.sidebar] buffer = "replace-pane"
-
여전히 활성화된 IRC 채널이 어디 있는지 궁금함. 몇 달 전에 freenode에 오랜만에 접속했더니 거의 아무도 없었음. 다시 프로그래밍/기술 커뮤니티 IRC에 참여하고 싶음
-
나 역시 탭 때문에 halloy 실험을 중단했음. 지금도 관련 이슈를 계속 지켜보고 있음
-
탭 기능에는 전적으로 동감함. 2개 이상의 채널을 보고 싶을 때 어떻게 해야 할지 모르겠음
-
좀 더 탭처럼 사용하려면 설정 문서에서 "replace-pane"으로 buffer를 지정할 수 있음
-
-
halloy는 굉장히 멋진 앱이기도 하고, Iced를 활용한 GUI 소프트웨어 개발을 배우고 싶다면 최고의 샘플임 (Iced GitHub 링크). Rust로 GUI 앱을 만들고 싶다면 halloy 같은 쇼케이스 앱과 예제를 참고해보길 권함. 궁금한 점이 생기면 Discord 커뮤니티에서 친절한 도움을 받을 수 있음 (Discord 채널 링크)
-
재미있는 사실은, Rust 경험이 거의 없는 상태에서 Claude Code로 iced-rs 애플리케이션을 빌드하고 싶어 Github에서 iced-rs를 사용하는 대규모 프로젝트를 찾았고, Halloy가 상위 3개 레퍼런스 중 하나였음
-
최근까지 마음에 드는 Rust용 GUI 라이브러리가 없어서 고민했었음. 대부분은 다른 GUI 스택에 바인딩되는 형식이었기 때문임. 다음에 Rust로 작업할 때 Iced를 써볼 계획임
-
-
Rust 기반 데스크탑 애플리케이션이 Go나 Java보다 훨씬 더 많이 등장하는 것을 최근에 느끼기 시작함. 대부분 크로스 플랫폼을 지향함. Electron과 경쟁하려는 시도가 아닐지 추측함. Tauri도 Rust 기반임. Rust만의 특별함이 무엇인지, Python 기반 데스크탑 애플리케이션이 많지 않은 이유도 궁금함. 한편으로 typescript와 go로 만들어진 터미널 기반 앱도 최근에 자주 보게 됨
-
현재 Rust로 데스크탑 음악용 jellyfin 클라이언트를 개발 중임. Rust 코딩의 즐거움과 신뢰성이 큰 매력임. 시간이 많지 않을 때에도 컴파일만 되면 어느 정도 동작을 믿을 수 있는 자신감을 얻음. Python이었다면 런타임 에러 때문에 고생했을 것임. 크로스 플랫폼 지원도 매우 잘 되어 있음. iced와 같은 라이브러리 뿐만 아니라 GTK 바인딩도 훌륭함. 런타임이 필요 없기 때문에 파이썬보다 배포도 매우 쉬움. Rust는 데스크탑 앱 만들기에 정말 좋은 언어임
-
Objective-C 시절부터 macOS 앱을 개발해옴. 항상 네이티브 앱을 선호해왔고, Halloy를 시작할 때도 멀티플랫폼 네이티브 앱을 목표로 삼았음. 그런 점에서 Rust가 완벽히 잘 맞았음
-
Rust만의 특별함이 무엇인지에 대해 얘기가 자주 나옴. 개인적으로 많은 Python 프로그램을 Rust로 대체하고 있음. 작성 난이도가 엄청나게 높지도 않고, sum type 등 중요한 기능들이 Python이나 Rust와 무관한 언어들엔 없어서 아쉬웠음. Rust로 코드 작성이 힘든 경우라면, 그것은 보통 Python에선 불가능하거나 비효율적인 최적화를 시도할 때임. 네이티브이면서 컴파일된 앱이 되는 점이 매우 매력임. Rust로 데스크탑 앱을 출시할 계획도 있음
-
Python으로 만들어진 데스크탑 앱 역시 많음. 하지만 예를 들어 Tkinter는 리눅스에서 보기 흉하게 표시되고, GTK를 쓰면 minGW로 직접 빌드하거나 Cygwin과 함께 배포해야 하는 번거로움이 있음
-
Rust에 대해 직접 경험한 바는 없지만, CLI 툴과 서버가 Go로 많이 개발되는 이유는 바로 그 분야에서 Go가 강점을 보이기 때문이라고 생각함. Go로 데스크탑 GUI 앱 만드는 일은 재미없을 것 같음. Go는 다소 장황하고 구조적 기능·복잡한 추상화 작업에 비협조적임. 이런 면에서 Rust는 Go와 정반대라고 느껴짐
-
-
어제가 그래서인지 많은 사람들이 Libera 채널에 아무 이유 없이 들어와 IRC가 왜 좋은지 직접 체험하려고 했는데 아무도 얘기하지 않아서 신기했음
-
예전엔 Hexchat을 썼는데 1년 넘게 halloy로 갈아타고 매우 만족하고 있음. 꾸준히 업데이트되고 있고, 내가 사용하는 동안 다양한 최신 기능이 추가되었음. soju와 함께 쓰면 IRC 경험이 매우 부드러움
-
수 년 간 IRC를 사용하지 않았지만, 12년 전 10대 시절의 내가 이걸 봤으면 무척 흥분했을 것임. 지금까지 본 것 중 가장 멋진 클라이언트임
-
시력이 좋지 않은 사람을 위해 접근성 옵션이 있는지 궁금함. EFNet 영원함
- 아직은 접근성 옵션이 제공되지 않음. 기본 GUI 프레임워크가 지원하지 않기 때문임. 하지만 개발자가 향후 꼭 추가하고 싶다고 밝힌 적이 있음
-
Halloy의 전반적인 디자인이 마음에 쏙 듦. HN에 최소 두 번은 소개시킨 적 있음. 드디어 메인 페이지에 올라온 게 정말 기쁨. 계속 멋진 작업 이어가길 바람
-
정말 멋짐. IRC 서버를 운영 중이고 쓸만한 네이티브 클라이언트를 찾고 있었는데, 그동안 생태계가 거의 정체된 상태라 이번에는 꼭 Halloy를 써봐야겠음