TL;DR
- Electrobun 2.0은 시스템 웹뷰를 사용할 때 압축된 Hello World 앱 다운로드 크기가 약 1MB인 크로스 플랫폼 데스크톱 앱 프레임워크임.
- TypeScript, Zig, Rust, Go, Odin을 같은 코어·빌드 도구·패키징 체계에서 사용할 수 있으며, 기본 TypeScript 외에 컴파일 성능이 필요한 경우 다른 언어를 선택함.
- Warren은 세밀한 반응형 UI와 네이티브 GPU 표면 렌더링을 지원하고, Cottontail은 Zig와 JavaScriptCore 기반 TypeScript 런타임이며, Hutch는 패키지·스크립트·번들링·툴체인·릴리스를 통합하는 CLI임.
- 차등 업데이트, Zstandard 자체 압축 해제 번들, 코드 서명·공증, three.js·Babylon 어댑터, 선택형 Chromium 번들링, 카나리·프로덕션 채널을 기본 기능으로 제공함.
- 30개 스타터 템플릿과 대화형 초기화 도구를 제공하며, macOS ARM64 시스템 웹뷰 기준 압축 Hello World 다운로드 크기는 Electrobun 네이티브 메인 프로세스 1.28MiB, Cottontail 약 15MiB, 일반적인 Electron 앱 약 85MiB임.
Electrobun 소개
- Electrobun은 빠르고 작은 크기의 크로스 플랫폼 데스크톱 앱을 만드는 프레임워크이며, Hello World 앱의 크기는 약 1MB임.
- 지원 언어는 TypeScript, Zig, Rust, Go, Odin이며, 렌더러로 시스템 웹뷰, Chromium 또는 WGPU를 사용할 수 있음.
- 문서와 GitHub 저장소를 제공하며, Hutch 설치 명령은 다음 주소를 사용함:
https://hutch.blackboard.sh/hutch/install.sh및https://hutch.blackboard.sh/hutch/install.ps1. - 설치 후
hutch electrobun init명령으로 앱을 초기화함. - 언어별 시작 코드는 같은 앱 창과
views://mainview/index.html웹뷰를 구성하는 예시임. 전체 단계별 안내는 각 언어별 문서에 있음.
앱 크기
- macOS ARM64에서 시스템 웹뷰 렌더러를 사용한 압축 Hello World 다운로드 크기는 Electrobun 네이티브 메인 프로세스 1.28MiB, Electrobun Cottontail 약 15MiB, 일반적인 Electron 앱 약 85MiB임.
2.0의 새 기능
- Warren은 Electrobun용 SolidJS 영감의 세밀한 반응성 프레임워크임. Cottontail 또는 Bun 프로세스에서 독립 창이나 웹뷰에 합성되는 네이티브 GPU 표면으로 직접 렌더링하거나, 웹뷰 안에서 웹 UI의 세밀한 반응성을 구동함.
- Hutch는 패키지, 스크립트, 번들링, 고정 툴체인, 릴리스를 처리하는 단일 CLI이며, npm, Bun, 기존 Electrobun CLI를 대체함.
- Cottontail은 Zig와 JavaScriptCore로 만든 자체 TypeScript 런타임임. 필요한 범위에서 Node.js 및 Bun과 호환되며 둘보다 작음.
- 여섯 가지 메인 프로세스 선택지는 기본 TypeScript와 컴파일 성능을 위한 Zig, Rust, Go, Odin임. 모두 같은 코어, 빌드 도구, 패키징을 사용함.
hutch electrobun init은 키보드로 탐색하는 템플릿 선택기를 열며, 프레임워크 셸부터 GPU 시뮬레이션까지 30개 스타터를 제공함.
기본 제공 기능
- 차등 업데이트는
zig-bsdiff를 사용하며, 업데이트 크기는 4KB까지 작아질 수 있음. 자체 S3, R2 또는 정적 파일 호스트를 연결할 수 있고, 업데이트 서버 없이 전체 다운로드 대체 경로도 제공함. - Zstandard 자체 압축 해제 번들은 검증, 압축 해제, 첫 실행을 지원함.
- 코드 서명과 공증은 릴리스 빌드의 일부로 실행됨. macOS에서는 DMG, Windows에서는 설치 실행 파일, Linux에서는 자체 압축 해제 설치 프로그램을 생성함.
- three.js 및 Babylon 어댑터를 사용하면 Cottontail 또는 Bun에서 네이티브 GPU 창과 웹뷰에 합성되는 표면을 제어할 수 있음.
- 기본 설정에서는 시스템 웹뷰를 사용해 앱을 작게 유지하며, 모든 환경에서 같은 엔진을 원하면 고정된 Chromium을 번들링할 수 있음.
- 카나리 및 프로덕션 채널을 기본 제공하며, 프로덕션 앱과 함께 테스터에게 사전 공개 빌드를 배포할 수 있음.
30개 시작 템플릿
- 웹 프레임워크 스타터는 핫 리빌드 개발 모드를 갖춘 데스크톱 셸에 각 스택을 연결함:
react-tailwind-vite,solid,svelte,vue,angular,vanilla-vite,tailwind-vanilla. - 앱 골격은 탭, 창, 저장소, 트레이, 미디어 등 실제 앱 패턴을 다룸:
multitab-browser,multi-window,notes-app,sqlite-crud,photo-booth,tray-app,hello-world,bunny. - GPU 및 네이티브 템플릿은 WGPU를 구동하는 네이티브 메인 프로세스를 다루며, 시뮬레이션·입자·3D 예제를 포함함:
zig-wgpu,rust-flock-wgpu,go-maze-wgpu,odin-particles-wgpu,odin-fluid-wgpu,odin-jelly-bunny-wgpu,odin-alchemy-wgpu,odin-tree-wgpu,wgpu,wgpu-threejs,wgpu-babylon,wgpu-mlp. - Warren UI 실험 템플릿은 웹뷰를 거치지 않고 GPU로 렌더링하는 반응형 UI를 다룸:
ui-wgpu,ui-color-picker,ui-launcher.
Electrobun으로 만든 제품
- 데스크톱 제품 Dash는 Electrobun 2.0으로 처음부터 끝까지 구축됨. Hutch가 빌드하고 Cottontail이 실행하며 Warren이 일부를 렌더링하고, 업데이트는 바이너리 차등 방식으로 배포됨.
시작하기
- Hutch 설치 후
hutch electrobun init을 실행해 앱을 시작함. - 빠른 시작 안내, GitHub, Discord를 제공함.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요