Tauri vs. Electron - 실제 어플리케이션으로 비교하기
(levminer.com)Authme라는 크로스플랫폼 2FA앱으로 항목별 비교
- 번들 : OS의 웹뷰를 사용하는 Tauri가 훨씬 작음. 2.5MB vs. 85MB
- 시작시간 : Tauri ~2초 vs. Electron ~4초
- 램 사용량 :
- 윈도우에서는 Tauri 80MB, Electron 120MB로 큰 차이 없음
- 리눅스에서는 Tauri 80MB, Electron 쪽에 뭔가 많이 떠서 500MB 이상으로 큰 차이가 남
- AppBackend : Electron은 Node.js 런타임을 사용하므로 JavaScript 코딩이면 되지만, Tauri는 Rust 코딩이 필요함
- Tauri 로드맵에서는 Python, C++, Deno도 지원 예정이라고
- 렌더링 : Electron은 윈/맥/리눅스 모두 크로미엄을 이용, Tauri는 윈(Edge WebView2)/리눅스(WebKitGTK)/맥(WebKit)
- 브라우저별 차이가 있을 수 있어서, Tauri에서는 폴리필을 이용해야 할 경우가 있음
- 보안 : Tauri는 매우 많은 보안 기능들을 내장하여 기본적으로 안전
- 자동 업데이트 :
- Tauri쪽이 더 간단. 내장 Updater가 있음(직접 업데이트 서버를 운영해야한다는 단점은 있음)
- Electron은 electron-updater가 많이 쓰임. 장점은 GitHub 릴리즈에서 직접 바이너리를 가져오는게 가능해서 편리함
- 개발자 경험 :
- Tauri는 그냥 CLI만 설치하면 모든게 바로 사용 가능(핫 리로딩, 번들링, 앱 생성등)
- Electron은 그런거 없이 프레임워크 자체만 줌. 핫 리로딩/번들링을 알아서 해야함
- Tauri의 가장 큰 장점은 모든 웹프레임워크와 호환된다는 것
결론
- Tauri를 선택
- 아직 부족한 부분이 있지만, 몇년내에 Tauri팀이 Electron을 따라잡을 것
- 특히 기대하는 것은 Deno를 백엔드로 사용가능하게 되는 것과 더 편한 자동 업데이트 및 iOS/Android 지원
Rustacean으로서 러스트 생태계가 커지는 건 매우 반갑네요. 맥에서 일렉트론 앱을 3개나 켜놔야 하는데 매우 맥북이 뜨겁습니다 ㅜㅜ
Tauri - 작고 빠른 실행파일을 생성하는 데스크탑용 웹앱 프레임워크
Tauri v1.0 릴리즈
글 중간 보안 부분에 Electron이 Node API 풀 접근이 가능하다는 얘기가 있는데,
이 nodeIntegration은 5.0 이후로 false가 기본 값이고, 20.0 부터는 샌드박싱 처리가 되어 Electron 도 나름 안전합니다.
https://www.electronjs.org/docs/latest/tutorial/security