นักพัฒนา Hopp แก้ไขปัญหาคุณภาพการแชร์หน้าจอด้วย AV1 Codec และการปรับปรุง Rust

ทีมชุมชน BigGo
นักพัฒนา Hopp แก้ไขปัญหาคุณภาพการแชร์หน้าจอด้วย AV1 Codec และการปรับปรุง Rust

แอปพลิเคชันโปรแกรมมิ่งแบบคู่โอเพนซอร์ส Hopp กำลังสร้างความเคลื่อนไหวในชุมชนนักพัฒนา ขณะที่ผู้ดูแลโครงการกำลังแก้ไขปัญหาคุณภาพการแชร์หน้าจอและสำรวจโซลูชันทางเทคนิคขั้นสูง สร้างขึ้นด้วย Tauri และขับเคลื่อนโดยโครงสร้างพื้นฐาน WebRTC ของ LiveKit โดย Hopp มีเป้าหมายที่จะให้ทางเลือกที่เหนือกว่าเครื่องมือการทำงานร่วมกันที่มีอยู่ เช่น Discord และโซลูชันการจับคู่แบบดั้งเดิมที่ใช้ IDE

ภาพรวมของ Tech Stack:

  • Backend: Go (API server), PostgreSQL (การจัดเก็บข้อมูล)
  • Frontend: React กับ TypeScript, TailwindCSS
  • Desktop: Tauri framework กับ Rust core process
  • Infrastructure: LiveKit WebRTC network
ภาพรวมของ repository " gethopp/hopp " บน GitHub ซึ่งเป็นที่ที่การพัฒนาแอป Hopp เกิดขึ้น
ภาพรวมของ repository " gethopp/hopp " บน GitHub ซึ่งเป็นที่ที่การพัฒนาแอป Hopp เกิดขึ้น

การปรับปรุงคุณภาพหน้าจอผ่าน Codec ขั้นสูง

การสนทนาในชุมชนเผยให้เห็นว่านักพัฒนา Hopp กำลังผลักดันขอบเขตของเทคโนโลยีการแชร์หน้าจอ ผู้ดูแลโครงการคนหนึ่งเปิดเผยแผนการใช้งาน AV1 codec ซึ่งสามารถให้ประสิทธิภาพ latency ที่ดีกว่าอย่างมากในความละเอียด 4K อย่างไรก็ตาม ความก้าวหน้านี้เผชิญกับความท้าทายที่สำคัญ: ความเข้ากันได้กับ Safari บนอุปกรณ์รุ่นเก่ายังคงมีข้อจำกัด เพื่อเอาชนะอุปสรรคนี้ ทีมงานกำลังสำรวจวิธีแก้ไขปัญหาที่นวัตกรรมด้วยการประมวลผลสตรีมที่ใช้ Rust กับการส่งมอบ WebSocket server ในเครื่อง ซึ่งน่าแปลกที่เพิ่ม transport latency น้อยกว่า 5 มิลลิวินาที

การปรับปรุงประสิทธิภาพในการพัฒนา:

  • การใช้งาน AV1 codec สำหรับการสตรีมมิ่ง 4K ที่มีความล่าช้าที่ดีขึ้น
  • การประมวลผลสตรีมที่ใช้ Rust ด้วยความล่าช้าในการส่งข้อมูลน้อยกว่า 5ms
  • การแก้ไขปัญหาความเข้ากันได้กับ Safari สำหรับอุปกรณ์รุ่นเก่า
  • การรวม WebSocket server ในเครื่องเพื่อปรับปรุงประสิทธิภาพ

ความท้าทายในการรวมระบบและความยุ่งยากในเวิร์กโฟลว์

ชุมชนได้เน้นย้ำถึงอุปสรรคสำคัญในการนำไปใช้: การรวมเข้ากับเวิร์กโฟลว์การพัฒนาที่มีอยู่ ผู้ใช้ชี้ให้เห็นว่าความยุ่งยากในการเริ่มต้นเซสชันโปรแกรมมิ่งแบบคู่มักจะสำคัญกว่าคุณภาพของเซสชันจริง ๆ ข้อเสนอแนะนี้ได้กระตุ้นให้เกิดการสนทนาเกี่ยวกับการพัฒนาเครื่องมือ CLI ส่วนขยาย IDE และการรวมระบบ Slack เพื่อปรับปรุงกระบวนการเริ่มต้นใช้งาน ทีมพัฒนาได้รับทราบความกังวลนี้และวางแผนที่จะสร้าง GitHub issues สำหรับการมีส่วนร่วมของชุมชนในด้านนี้

ความกังวลเรื่องความเข้ากันได้ข้าม Editor

เธรดการสนทนาที่สำคัญเกิดขึ้นรอบข้อจำกัดของโซลูชันโปรแกรมมิ่งแบบคู่ปัจจุบันเมื่อนักพัฒนาใช้ editor ที่แตกต่างกัน ไม่เหมือนเครื่องมือที่บังคับให้ผู้เข้าร่วมใช้สภาพแวดล้อมเดียวกัน มีความต้องการที่เพิ่มขึ้นสำหรับโปรโตคอลสากลที่จะอนุญาตให้นักพัฒนาทำงานร่วมกันในขณะที่ยังคงรักษา editor ที่พวกเขาชื่นชอบ ไม่ว่าจะเป็น Neovim , IntelliJ หรือ VSCode นี่แสดงถึงความท้าทายพื้นฐานในพื้นที่โปรแกรมมิ่งแบบคู่ที่ขยายไปเกิน Hopp สู่ระบบนิเวศทั้งหมด

การมีส่วนร่วมของชุมชนกับ Hopp สะท้อนถึงความไม่พอใจในวงกว้างกับเครื่องมือการทำงานร่วมกันที่มีอยู่ โดยเฉพาะเรื่องความซับซ้อนในการแชร์ URL และขอบเขตที่จำกัดนอกเหนือจากสภาพแวดล้อม IDE ดังที่สมาชิกชุมชนคนหนึ่งกล่าวไว้ โปรแกรมมิ่งแบบคู่ที่มีประสิทธิภาพมักเกี่ยวข้องกับกิจกรรมนอกเหนือจาก code editor รวมถึงการทำงานใน terminal การดีบักการตั้งค่าคลาวด์ที่ซับซ้อน และการตรวจสอบแดชบอร์ด ซึ่งเป็นพื้นที่ที่โซลูชันแบบดั้งเดิมที่ใช้ IDE ยังไม่เพียงพอ

อ้างอิง: Hopp - Open Source pair programming app