최근 개발자 타윈(Tarwin)이 기존 일렉트론(Electron) 앱의 무거운 용량에 대한 불만으로 직접 개발한 'TinyJS'를 공개하며 개발 커뮤니티의 주목을 받고 있습니다. 단 6주 만에 개발된 TinyJS는 윈도우(Windows), 맥(macOS), 리눅스(Linux)에서 약 6MB 크기의 초경량 데스크톱 앱을 만들 수 있게 해주는 프레임워크입니다. 이는 수백 MB에 달하는 일렉트론 앱과 비교했을 때 획기적으로 작은 용량입니다.
TinyJS는 txikijs를 기반으로 하며, 퀵JS(QuickJS)와 SQLite를 포함하고 있습니다. 가장 큰 특징은 운영체제(OS)가 기본으로 제공하는 웹뷰(Webview)를 활용한다는 점입니다. 맥에서는 웹킷(WebKit), 윈도우에서는 웹뷰2(WebView2), 리눅스에서는 웹킷GTK(WebKitGTK)를 사용해 크로미움(Chromium) 엔진 전체를 앱에 포함할 필요가 없어 용량을 크게 줄였습니다. 덕분에 일렉트론 앱이 보통 150MB 이상, 타우리(Tauri)가 10MB 수준인 반면, TinyJS는 6MB 내외로 앱을 배포할 수 있습니다. 백엔드는 자바스크립트(JavaScript)로 시스템 전체 접근이 가능하며, 프런트엔드는 일반 HTML/CSS/JS로 구성됩니다. 개발 중에는 핫 리로드(Hot Reload)를 지원하여 편리하게 작업할 수 있습니다.
이러한 TinyJS의 등장은 데스크톱 앱 개발 생태계에 중요한 변화를 가져올 수 있습니다. 특히 경량 유틸리티 앱이나 특정 기능에 집중하는 앱을 개발할 때 매우 유리합니다. 사용자 입장에서는 다운로드 및 설치 시간이 짧아지고, 시스템 자원 소모가 적어 쾌적한 사용 경험을 기대할 수 있습니다. 개발자 입장에서는 자바스크립트만으로 백엔드와 프런트엔드를 모두 개발할 수 있어 생산성이 향상되며, 배포 용량 부담을 덜 수 있습니다. 이는 기존 웹 기술 스택을 가진 개발자들이 데스크톱 앱 시장으로 진출하는 문턱을 낮추는 효과도 가져올 것입니다.
