웹 개발자들이 익숙한 React와 TypeScript, CSS를 이용해 네이티브 데스크톱 애플리케이션을 만들 수 있는 새로운 컴파일러 'Attar'가 등장했습니다. 이 도구는 웹 기술로 데스크톱 앱을 구축하려는 개발자들에게 새로운 가능성을 제시하며, 기존 Electron(일렉트론) 기반 앱의 단점으로 지적되던 큰 용량과 높은 리소스 사용 문제를 해결하는 데 초점을 맞춥니다.
Attar는 개발자가 작성한 JavaScript(자바스크립트) 코드를 앱 실행 전에 네이티브 머신 코드로 컴파일합니다. 인터페이스 렌더링에는 구글 크롬(Chrome)의 렌더링 엔진인 Blink(블링크)를 사용해 HTML과 CSS를 웹과 동일하게 표현합니다. 이 방식은 React(리액트)의 렌더링 로직을 애플리케이션과 함께 컴파일하고, 네이티브 호스트가 React 업데이트를 Blink에 연결하는 방식으로 작동합니다. 현재 React 19, 정적 CSS, Tailwind(테일윈드) 유틸리티, shadcn/ui(섀드앤/유아이) 컴포넌트 등 주요 웹 기술을 지원하며, Rust(러스트) 및 C(씨) 언어와의 통합도 가능합니다. 특히, Electron으로 개발된 'balena Etcher' 앱을 Attar로 재구축했을 때, 앱 크기는 80% 감소한 73.3MB, 유휴 메모리 사용량은 68% 감소한 91.8MB를 기록하며 성능 개선 효과를 입증했습니다.
Attar의 등장은 웹 개발 생태계에 큰 영향을 미칠 것으로 예상됩니다. 개발자들은 웹 기술 스택을 그대로 활용하면서도, 사용자에게는 더 빠르고 가벼운 데스크톱 앱 경험을 제공할 수 있게 됩니다. 이는 특히 리소스 제약이 있는 환경이나, 빠른 시작과 낮은 메모리 사용량이 중요한 애플리케이션 분야에서 강력한 대안이 될 수 있습니다. 다만, 현재 Attar는 독립 실행형 앱 구축에 중점을 두며, Electron 및 Node.js(노드제이에스) API 호환성 레이어인 'Attar Electron'은 별도 프로젝트로 개발 중이므로 기존 Electron 앱을 바로 전환하기 위해서는 추가적인 호환성 작업이 필요할 수 있습니다. 그럼에도 불구하고, 웹 기술의 확장성과 네이티브 앱의 성능을 동시에 추구하는 Attar는 앞으로 데스크톱 앱 개발의 새로운 표준을 제시할 잠재력을 가지고 있습니다.
