- ไคลเอนต์ IRC ฟรีและโอเพนซอร์สที่พัฒนาด้วยภาษา Rust
- มอบ อินเทอร์เฟซที่รวดเร็วและเรียบง่าย ด้วยการใช้ ไลบรารี GUI Iced สมัยใหม่ และรองรับ Mac/Windows/Linux เป็นต้น
- รองรับ IRCv3.2 ซึ่งเป็นโปรโตคอลล่าสุด, การยืนยันตัวตน SASL และ DCC Send สำหรับการถ่ายโอนไฟล์
- เพิ่มประสิทธิภาพการแชตด้วยฟังก์ชันอำนวยความสะดวกที่หลากหลาย
- ธีมแบบกำหนดเองและการแจ้งเตือน
- คีย์ลัดบนแป้นพิมพ์, การเติมข้อความอัตโนมัติ (ชื่อเล่น, คำสั่ง, ช่องแชต เป็นต้น)
- จัดการหลายเซิร์ฟเวอร์และหลายช่องแชตได้พร้อมกัน
- สามารถรันคำสั่งได้อย่างรวดเร็วผ่านแถบคำสั่ง
- รองรับฟีเจอร์ IRCv3.2
- รองรับฟีเจอร์ขั้นสูงของ IRCv3.2 จำนวนมาก เช่น account-notify, away-notify, batch, cap-notify, chathistory, chghost เป็นต้น
- รองรับ message-tags, multi-prefix, read-marker, sasl-3.1, server-time, standard replies เป็นต้น
1 ความคิดเห็น
ความคิดเห็นบน Hacker News
ฉันอยากลองใช้แอปนี้มาก แต่ติดปัญหาที่มันยังเข้าถึงผ่าน screen reader ไม่ได้ คิดว่าน่าจะเป็นเพราะ GUI library ยังไม่รองรับ accessibility ฉันไปเจอ issue ใน GitHub ของ Iced ที่บอกว่าจะรองรับ accessibility ในปี 2024 และเห็นว่ามีคอมเมนต์ล่าสุดเมื่อเดือนกุมภาพันธ์ปีนี้ (ลิงก์ issue ที่เกี่ยวข้อง) ถ้าฟีเจอร์นี้ดีขึ้นเมื่อไร ฉันตั้งใจจะกลับมาลองอีกครั้ง เลยอยากคอมเมนต์ไว้ให้รู้ว่าบน HN ก็มีผู้ใช้จริงที่จำเป็นต้องใช้ accessibility feature อยู่เสมอ และรู้สึกขอบคุณมากกับการพัฒนาด้าน accessibility
ถ้าใช้งานหลายเซิร์ฟเวอร์และหลายช่องพร้อมกัน การไม่มีแท็บทำให้ใช้งานลำบากพอสมควร อีกอย่างมันย่อไปไว้ใน tray ไม่ได้ และต้องเปิดค้างไว้ตลอด ซึ่งก็ค่อนข้างจุกจิกอยู่บ้าง ตอนนี้เลยคงใช้ Quassel ต่อไปก่อน ถึงอย่างนั้นก็ยังต้องบอกว่างานนี้ยอดเยี่ยมมาก
ฉันเพิ่มการตั้งค่าต่อไปนี้เพื่อให้มันดูคล้ายแท็บมากขึ้น
ฉันก็ยังสงสัยอยู่ว่าตอนนี้ IRC channel ที่ยัง active กันอยู่มันอยู่ที่ไหนบ้าง เมื่อไม่กี่เดือนก่อนฉันลองกลับเข้า freenode หลังจากห่างไปนาน ปรากฏว่าแทบไม่มีใครอยู่เลย อยากกลับไปเข้าร่วมชุมชน programming/tech บน IRC อีกครั้ง
ฉันก็เลิกทดลองใช้ halloy เพราะเรื่องแท็บเหมือนกัน และตอนนี้ก็ยังตามดู issue นี้อยู่เรื่อย ๆ
เห็นด้วยเต็มที่เรื่องแท็บ ฉันไม่รู้เลยว่าถ้าอยากดูมากกว่า 2 channels จะต้องทำยังไง
ถ้าอยากใช้งานให้คล้ายแท็บมากขึ้น สามารถตั้งค่า buffer เป็น "replace-pane" ได้ใน เอกสารการตั้งค่า
halloy เป็นแอปที่เท่มาก และถ้าอยากเรียนรู้การพัฒนาซอฟต์แวร์ GUI ด้วย Iced มันก็เป็นตัวอย่างที่ยอดเยี่ยมที่สุดตัวหนึ่ง (ลิงก์ GitHub ของ Iced) ถ้าอยากสร้าง GUI app ด้วย Rust แนะนำให้ดูทั้งแอปโชว์เคสอย่าง halloy และตัวอย่างต่าง ๆ ถ้ามีคำถามอะไร ก็สามารถขอความช่วยเหลืออย่างเป็นกันเองได้ในชุมชน Discord (ลิงก์ Discord channel)
เรื่องน่าสนใจก็คือ ตอนที่ฉันแทบไม่มีประสบการณ์กับ Rust เลย แต่ต้องการสร้างแอปพลิเคชัน iced-rs ด้วย Claude Code ฉันเลยไปหาโปรเจกต์ขนาดใหญ่ที่ใช้ iced-rs บน GitHub และ Halloy ก็เป็นหนึ่งใน 3 reference อันดับต้น ๆ
จนไม่นานมานี้ฉันยังรู้สึกกังวลอยู่เลยว่าไม่มี GUI library สำหรับ Rust ที่ถูกใจ เพราะส่วนใหญ่เป็นแค่ binding ไปยัง GUI stack อื่น ๆ รอบหน้าถ้าทำงานด้วย Rust ฉันวางแผนว่าจะลองใช้ Iced
ช่วงหลังฉันเริ่มรู้สึกว่าเดสก์ท็อปแอปพลิเคชันที่พัฒนาด้วย Rust โผล่มาเยอะกว่า Go หรือ Java มาก และส่วนใหญ่ก็มุ่งไปทาง cross-platform เลยเดาว่าอาจเป็นความพยายามจะแข่งกับ Electron ก็ได้ Tauri เองก็สร้างบน Rust เหมือนกัน ฉันเลยสงสัยว่าอะไรคือความพิเศษของ Rust และทำไมเดสก์ท็อปแอปที่ใช้ Python ถึงไม่ได้มีมากนัก ขณะเดียวกัน ช่วงนี้ก็เห็นแอปแบบ terminal ที่สร้างด้วย typescript และ go บ่อยขึ้นเหมือนกัน
ตอนนี้ฉันกำลังพัฒนาไคลเอนต์ Jellyfin สำหรับฟังเพลงบนเดสก์ท็อปด้วย Rust ความสนุกในการเขียน Rust และความน่าเชื่อถือคือเสน่ห์สำคัญ แม้มีเวลาไม่มาก แค่คอมไพล์ผ่านฉันก็มั่นใจได้ระดับหนึ่งว่ามันน่าจะทำงานได้ ถ้าเป็น Python ฉันคงต้องปวดหัวกับ runtime error แน่ ๆ การรองรับ cross-platform ก็ดีมาก ไม่ใช่แค่มีไลบรารีอย่าง iced แต่ GTK bindings ก็ยอดเยี่ยมด้วย และเพราะไม่ต้องมี runtime การแจกจ่ายจึงง่ายกว่า Python มาก Rust เป็นภาษาที่ยอดเยี่ยมมากสำหรับการสร้างเดสก์ท็อปแอป
ฉันพัฒนาแอป macOS มาตั้งแต่ยุค Objective-C และชอบ native app มาโดยตลอด ตอนเริ่ม Halloy ฉันก็ตั้งเป้าจะทำเป็น native app แบบหลายแพลตฟอร์ม ดังนั้น Rust จึงเหมาะกับงานนี้อย่างสมบูรณ์แบบ
มีการพูดกันบ่อยว่าอะไรคือความพิเศษของ Rust ส่วนตัวฉันกำลังแทนที่โปรแกรม Python หลายตัวด้วย Rust มันไม่ได้เขียนยากจนเกินไป และยังมีฟีเจอร์สำคัญอย่าง sum type ที่น่าเสียดายซึ่งไม่มีใน Python หรือภาษาอื่นอีกหลายภาษา ถ้าการเขียนโค้ด Rust รู้สึกยาก มักเป็นเพราะคุณกำลังพยายามทำ optimization ที่ใน Python ทำไม่ได้หรือทำได้ไม่ดีอยู่แล้ว การได้แอปแบบ native และคอมไพล์แล้วเป็นเรื่องที่ดึงดูดใจมาก ฉันเองก็มีแผนจะปล่อยเดสก์ท็อปแอปด้วย Rust เหมือนกัน
เดสก์ท็อปแอปที่สร้างด้วย Python ก็มีเยอะเหมือนกัน แต่ยกตัวอย่างเช่น Tkinter แสดงผลบน Linux ได้ไม่น่าดูนัก และถ้าใช้ GTK ก็ต้องมาคอมไพล์ด้วย minGW เองหรือไม่ก็แจกจ่ายพร้อม Cygwin ซึ่งยุ่งยากพอสมควร
ฉันไม่ได้มีประสบการณ์ตรงกับ Rust แต่คิดว่าเหตุผลที่ CLI tools และเซิร์ฟเวอร์จำนวนมากถูกพัฒนาด้วย Go ก็เพราะ Go เด่นในงานสายนี้ การทำเดสก์ท็อป GUI app ด้วย Go น่าจะไม่ค่อยสนุกเท่าไร Go ค่อนข้างเขียนยืดยาว และไม่ค่อยเอื้อต่อการทำงานเชิงโครงสร้างหรือ abstraction ที่ซับซ้อน ในแง่นี้ Rust ให้ความรู้สึกตรงกันข้ามกับ Go เลย
เมื่อวานน่าจะเป็นเพราะเรื่องนี้ คนจำนวนมากเลยเข้ามาในช่องของ Libera แบบไม่มีเหตุผลชัดเจน เหมือนอยากลองสัมผัสด้วยตัวเองว่า IRC มันดีอย่างไร แต่กลับไม่มีใครพูดอะไรเลย เลยรู้สึกแปลกดี
เมื่อก่อนฉันใช้ Hexchat แต่ย้ายมาใช้ halloy ได้เกินปีแล้วและพอใจมาก มันอัปเดตอย่างต่อเนื่อง และระหว่างที่ฉันใช้งานก็มีฟีเจอร์ใหม่ ๆ เพิ่มเข้ามาหลายอย่าง ถ้าใช้คู่กับ soju ประสบการณ์ IRC จะลื่นไหลมาก
ฉันไม่ได้ใช้ IRC มาหลายปีแล้ว แต่ถ้าตัวฉันตอนเป็นวัยรุ่นเมื่อ 12 ปีก่อนได้เห็นสิ่งนี้ คงตื่นเต้นมาก นี่คือไคลเอนต์ที่เท่ที่สุดเท่าที่ฉันเคยเห็นมา
อยากรู้ว่ามีตัวเลือกด้าน accessibility สำหรับคนสายตาไม่ดีหรือเปล่า EFNet จงเจริญ
ฉันชอบดีไซน์โดยรวมของ Halloy มาก เคยพยายามดันขึ้น HN มาอย่างน้อยสองครั้ง ดีใจจริง ๆ ที่ในที่สุดมันได้ขึ้นหน้าแรกแล้ว ขอให้ทำงานเจ๋ง ๆ แบบนี้ต่อไป
สุดยอดมาก ฉันดูแล IRC server อยู่และกำลังมองหา native client ที่ใช้งานได้ดี เพราะ ecosystem นี้แทบหยุดนิ่งไปนานแล้ว รอบนี้คงต้องลอง Halloy ให้ได้