개요

데스크톱 앱 프레임워크는 웹 기술(HTML/CSS/JS) 또는 네이티브 UI로 크로스플랫폼 데스크톱 애플리케이션을 만드는 도구입니다. Electron이 시장을 지배했으나 메모리/번들 크기 문제로 Tauri, Electrobun 등 경량 대안이 등장하고 있습니다.

웹 기반 프레임워크

Electron

항목내용
개발OpenJS Foundation (원래 GitHub)
언어JavaScript/TypeScript
렌더링Chromium (내장) + Node.js
번들 크기~150MB
라이선스MIT
웹사이트https://www.electronjs.org

특징:

  • 데스크톱 앱 프레임워크의 사실상 표준
  • VS Code, Discord, Slack, Notion, Figma, Obsidian 등 사용
  • Chromium 전체 내장 → 크로스 브라우저 호환성 문제 없음
  • npm 생태계 전체 활용 가능
  • 단점: 메모리 과다 (각 앱이 Chromium 인스턴스), 번들 크기 큼

Tauri

항목내용
개발Tauri Foundation
언어Rust (백엔드) + JS/TS (프론트엔드)
렌더링OS 네이티브 WebView (WKWebView, WebView2, WebKitGTK)
번들 크기310MB
라이선스MIT / Apache 2.0
웹사이트https://tauri.app

특징:

  • Electron 대비 10~50배 작은 번들, 절반 이하 메모리
  • Rust 백엔드 → 높은 성능, 메모리 안전성
  • Tauri 2.0: 모바일(iOS/Android) 지원 추가
  • 단점: Rust 학습 곡선, OS WebView 차이로 렌더링 불일치 가능

Electrobun

항목내용
개발BlackBirdHQ
언어TypeScript + Zig
렌더링OOPIF 기반 웹뷰
번들 크기~12MB
런타임Bun
라이선스MIT

특징:

  • Bun 런타임 + Zig 네이티브 바인딩
  • 14KB 업데이트 패치 (바이너리 diff)
  • 코드 서명·공증·배포 통합
  • TypeScript만으로 개발 가능 (Rust 불필요)
  • 아직 초기 단계

Neutralino

항목내용
언어JS/TS (프론트엔드) + C++ (백엔드)
렌더링OS 네이티브 WebView
번들 크기~2MB
라이선스MIT
  • Tauri보다 더 가벼움, C++ 백엔드
  • API 제한적, 생태계 작음

Wails

항목내용
언어Go (백엔드) + JS/TS (프론트엔드)
렌더링OS 네이티브 WebView
번들 크기510MB
라이선스MIT
  • Go 개발자를 위한 Tauri 대안
  • Go의 동시성 강점 활용
  • 단일 바이너리 배포

네이티브 UI 프레임워크

Flutter (Desktop)

항목내용
개발Google
언어Dart
렌더링Skia/Impeller (자체 렌더링 엔진)
번들 크기~20MB
플랫폼macOS, Windows, Linux + 모바일 + 웹
  • 모바일 → 데스크톱 확장
  • 자체 렌더링 → 모든 플랫폼에서 동일한 UI
  • 단점: OS 네이티브 룩앤필 아님

Qt

항목내용
언어C++, Python (PySide/PyQt), QML
렌더링네이티브 위젯 + 커스텀
라이선스LGPL / 상용
  • 가장 오래된 크로스플랫폼 프레임워크
  • 산업용/임베디드 앱에 강점
  • Python 바인딩 (PySide6, PyQt6)

.NET MAUI

항목내용
개발Microsoft
언어C#, XAML
렌더링네이티브 컨트롤
플랫폼Windows, macOS, iOS, Android
  • Xamarin 후속
  • .NET 생태계 통합
  • Windows 앱에 최적

SwiftUI (macOS)

항목내용
개발Apple
언어Swift
플랫폼macOS, iOS, iPadOS, watchOS, visionOS
  • Apple 전용, 가장 네이티브한 경험
  • 크로스플랫폼 아님 (Apple 생태계 내)

종합 비교

프레임워크언어번들 크기메모리성숙도모바일네이티브 느낌
ElectronJS/TS~150MB높음최고X낮음
TauriRust+JS310MB낮음높음O (v2)중간
ElectrobunTS+Zig~12MB낮음초기X중간
NeutralinoJS+C++~2MB최저중간X중간
WailsGo+JS510MB낮음중간X중간
FlutterDart~20MB중간높음O자체 UI
QtC++/Python가변중간최고O높음
.NET MAUIC#가변중간중간O높음
SwiftUISwift최소최저높음O (Apple)최고

대표 앱 사례

프레임워크대표 앱
ElectronVS Code, Discord, Slack, Notion, Figma, Obsidian, Spotify
TauriCody (Sourcegraph), Crabnebula, 1Password (일부)
FlutterGoogle Earth, Canonical Ubuntu 앱
QtVLC, Maya, Telegram Desktop, VirtualBox
.NET MAUIMicrosoft 365 모바일
SwiftUIApple 기본 앱, Bear, Things 3

선택 가이드

상황추천
빠른 프로토타입, 웹 기술Electron
경량 + 보안 + RustTauri
TypeScript만, 쉬운 배포Electrobun
Go 백엔드Wails
모바일 + 데스크톱 통합Flutter
산업용/임베디드Qt
Apple 전용SwiftUI
.NET 생태계.NET MAUI
최소 번들 크기Neutralino

2025~2026 트렌드

  • Electron 탈출: 번들/메모리 문제로 Tauri, Electrobun 등 이동
  • Tauri 2.0: 모바일 지원으로 Flutter 영역 침투
  • Bun/Zig 기반: Electrobun이 Bun 생태계 활용 시도
  • WebView 표준화: 각 OS의 네이티브 WebView 품질 향상
  • AI 네이티브 앱: LLM 연동 데스크톱 앱 증가 (Claude Desktop, ChatGPT 등)

관련 항목