WebKit의 한계, Hopp 앱은 Rust로 다시 태어난다!

by DD
2개월 전
조회수 12

Tauri 기반의 Hopp 앱 개발 중 WebKit의 다양한 문제점(SVG 렌더링, 오디오 문제, WebRTC 지원 부재)에 직면함

WebKit의 버그(Bug)로 인해 iOS에서 웹 페이지가 충돌하는 등, 개발 과정에서 어려움을 겪음

Tauri 대신 Electron 선택을 고려했으나, Rust 기반의 구현을 통해 코드 단순화 및 성능 향상을 추구함

커뮤니티에서는 WebKit의 문제점에 대한 공감과 함께, Rust 기반의 재구성에 대한 기대를 표명함

WebKit의 기술적 한계와 Hopp 앱의 문제점

Hopp 앱 개발 과정에서 WebKit의 여러 문제점이 드러났다. 특히, SVG 렌더링(SVG Rendering) 시 iOS 및 macOS에서 블러(Blur) 현상이 발생하여 디자인 제약이 발생했다. 또한, WebKit의 오래된 User Agent(Stale User Agent)로 인해 Krisp 통합이 어려웠으며, 오디오 관련 문제와 AV1 코덱 지원 부족 등, 다양한 기술적 제약에 직면했다. 이러한 문제들은 Hopp 앱의 사용자 경험(User Experience)에 부정적인 영향을 미쳤다.

Tauri에서 Rust 기반 구현으로의 전환 배경

Hopp 팀은 WebKit의 문제점을 해결하기 위해 Rust 기반의 구현을 선택했다. Electron으로 전환하는 대신, Rust를 통해 코드베이스를 단순화하고, WebRTC 관련 로직(WebRTC-related Logic)을 백엔드로 통합하여 여러 윈도우 간의 동기화 문제를 해결하고자 했다. 특히, 데이터 미저장 정책(Zero-Retention Policy)을 구현하고, 멀티모달 분석(Multimodal Analysis)을 통해 성능을 향상시키려는 목표를 가지고 있다.

Rust 기반 아키텍처의 장점과 기대 효과

Rust 기반 아키텍처는 Hopp 앱에 여러 가지 장점을 제공할 것으로 예상된다. 백엔드에서 스트리밍 로직(Streaming Logic)을 처리함으로써, 여러 개의 LiveKit 토큰을 생성해야 하는 문제를 해결하고, 코덱(Codec) 제약에서 벗어날 수 있다. 또한, Apple Neural Engine(ANE)을 활용한 이미지 업스케일링(Image Upscaling) 기능을 통해, 저품질 스트리밍 환경에서도 선명한 화면을 제공할 수 있을 것으로 기대된다. 데이터 격리 아키텍처(Data Isolation Architecture)를 통해 보안성을 강화할 수 있다.

커뮤니티 반응 및 기술적 논쟁

커뮤니티에서는 WebKit의 문제점에 대한 공감과 함께, Rust 기반의 재구성에 대한 기대를 표명했다. Tauri와 Electron 선택에 대한 논쟁이 있었지만, Rust를 선택한 결정에 대해 긍정적인 평가가 많았다. 특정 사용자 에이전트(User Agent) 문제에 대한 지적과 함께, WebKit의 기술적 한계에 대한 다양한 의견이 제시되었다. 또한, 성능 최적화(Performance Optimization)보안 강화(Security Enhancement)에 대한 기대가 높았다.

The hidden cost of 'lightweight' frameworks: Our journey from Tauri to native Rust

댓글 0

첫 번째 댓글을 남겨보세요!