본문 바로가기

좋아하는 것_매직IT/96.IT 핫이슈

Tauri 와 Electron - 실제 어플리케이션으로 비교하기 (levminer.com)

반응형

Tauri 와 Electron - 실제 어플리케이션으로 비교하기를 소개합니다.

출처 : levminer.com

참고로..아키텍처는 각각 아래와 같습니다. 

Electron app architecture

What is Electron?

Electron is a framework for creating native applications with web technologies like JavaScript, HTML, and CSS. It takes care of the hard parts so you can focus on the core of your application. If you can build a website, you can build a desktop app. - electronjs.org

App architecture

The Electron app is written in plain-old HTML and JavaScript. For styling I'm using TailwindCSS and some custom CSS.

Tauri app architecture

What's Tauri?

Tauri is a framework for building tiny, blazingly fast binaries for all major desktop platforms. Developers can integrate any front-end framework that compiles to HTML, JS and CSS for building their user interface. The backend of the application is a rust-sourced binary with an API that the front-end can interact with. - Tauri GitHub

Architecture

The Tauri app is using more modern staff. The build tool is Parcel, the framework is Svelte, and of course TypeScript instead of JavaScript. The styling is done with TailwindCSS.

728x90

해당 웹페이지에서 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의 가장 큰 장점은 모든 웹프레임워크와 호환된다는 것
728x90

결론

  • Tauri를 선택
  • 아직 부족한 부분이 있지만, 몇년내에 Tauri팀이 Electron을 따라잡을 것
  • 특히 기대하는 것은 Deno를 백엔드로 사용가능하게 되는 것과 더 편한 자동 업데이트 및 iOS/Android 지원

자세한 사항은 아래 웹페이지를 참고하시면 좋을것 같네요..

오늘의 블로그는 여기까지고요..
항상 믿고 봐주셔서 감사합니다. 

728x90
300x250