Deno, 웹 기술로 데스크톱 앱 시대를 열다

by DD
3시간 전
조회수 4

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 런타임 간의 통신 오버헤드를 줄인 점도 주목할 만함.

Deno Desktop

댓글 0

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