Deno, 웹 기술로 데스크톱 앱 시대를 열다
Deno Desktop은 Deno 프로젝트를 웹 기술 기반의 독립 실행형 데스크톱 앱으로 변환하는 기능임
Node.js 호환성과 시스템 WebView 활용으로 작은 바이너리 크기와 npm 생태계 접근성을 제공함
Electron, Tauri 등 기존 솔루션과의 차별화된 트레이드오프(Trade-offs)를 제시하며 경쟁 구도 형성
프레임워크 자동 감지 기능으로 Next.js, Astro 등 기존 웹 프로젝트의 쉬운 데스크톱 전환 지원
CEF 런타임 공유 및 바이너리 크기 최적화 논쟁
커뮤니티에서는 CEF(Chromium Embedded Framework) 런타임 공유 가능성에 대한 논의가 활발함. 현재 각 앱이 자체 CEF를 번들링하여 바이너리 크기가 커지는 문제를 지적하며, 공유 런타임 모델 도입 시 수 MB 단위로 앱 크기를 줄일 수 있다는 의견이 제시됨. 다만, 앱별로 요구하는 CEF 버전이 다를 경우 버전 충돌 가능성과 함께 Electron 모델과 유사해질 수 있다는 우려도 공존함.
웹 기술 UI 툴킷의 한계와 네이티브 UX
일부 사용자는 '웹 기술은 가장 널리 알려진 UI 툴킷'이라는 표현에 동의하지 않음. 웹 기술은 네이티브 OS의 UI 패턴 및 UX를 일관되게 따르지 못하는 경향이 있어, 버튼 렌더링 등 기본적인 요소에서도 OS별 차이가 발생한다고 지적함. 따라서 네이티브 UI 및 UX를 선호하는 개발자들에게는 Deno Desktop이 매력적이지 않을 수 있다는 의견이 있음.
Deno의 권한 시스템 통합 및 투명성
Deno의 강점인 세밀한 권한 시스템(Permission System)이 Deno Desktop에서 어떻게 통합되는지에 대한 질문이 제기됨. 컴파일 시 부여된 권한이 바이너리에 포함되는 방식에 대해, 사용자가 권한 부여 여부를 결정할 수 있도록 런타임 시 사용자에게 명시적으로 노출하는 방안이 제안됨. 이는 보안 에이전트와 같은 앱의 잠재적 위험성을 관리하는 데 중요함.
Tauri 대비 Deno Desktop의 경쟁력 분석
Deno Desktop은 TypeScript 기반 비즈니스 로직과 Node.js 생태계 접근성을 제공한다는 점에서 Tauri와 유사한 아키텍처를 가짐. 하지만 Deno의 직접적인 TypeScript 지원과 더 작은 번들 크기(150MB 추가)를 장점으로 내세우며 Tauri 시장을 공략할 것으로 예상됨. 일부에서는 Deno의 제로 컨피그(Zero-config) 옵션과 CEF 대신 시스템 WebView를 기본으로 사용하는 점을 높이 평가함.
크로스 플랫폼 지원 및 렌더링 엔진 선택
Deno Desktop은 macOS, Windows, Linux를 지원하며, 시스템 기본 WebView 또는 번들링된 Chromium(CEF) 백엔드를 선택할 수 있음. 시스템 WebView는 작은 바이너리 크기를 제공하지만 OS별 렌더링 차이가 발생할 수 있고, CEF는 일관된 렌더링 경험을 보장하지만 바이너리 크기가 커짐. 개발자는 프로젝트 요구사항에 따라 적절한 백엔드를 선택해야 함.
기존 웹 프레임워크 통합 및 개발 경험
Next.js, Astro, Remix 등 주요 웹 프레임워크를 코드 변경 없이 데스크톱 앱으로 전환할 수 있다는 점이 큰 장점으로 언급됨. `--hmr` 플래그를 통해 핫 모듈 리플레이스먼트(Hot Module Replacement)를 지원하여 개발 생산성을 높임. 또한, 인프로세스 바인딩(In-process Bindings)을 사용하여 WebView와 Deno 런타임 간의 통신 오버헤드를 줄인 점도 주목할 만함.