Tauri vs. Electron - So sánh bằng ứng dụng thực tế
(levminer.com)So sánh theo từng hạng mục với ứng dụng 2FA đa nền tảng tên là Authme
- Gói cài đặt: Tauri dùng webview của hệ điều hành nên nhỏ hơn rất nhiều. 2.5MB vs. 85MB
- Thời gian khởi động: Tauri ~2 giây vs. Electron ~4 giây
- Mức dùng RAM:
- Trên Windows, Tauri 80MB, Electron 120MB nên không khác biệt quá lớn
- Trên Linux, Tauri 80MB, còn phía Electron có khá nhiều thứ chạy lên nên chênh lệch lớn, vượt 500MB
- Backend ứng dụng: Electron dùng runtime Node.js nên chỉ cần viết JavaScript, còn Tauri thì cần viết Rust
- Theo roadmap của Tauri, sau này cũng sẽ hỗ trợ Python, C++ và Deno
- Kết xuất: Electron dùng Chromium trên cả Windows/macOS/Linux, còn Tauri dùng Windows (Edge WebView2) / Linux (WebKitGTK) / macOS (WebKit)
- Vì có thể có khác biệt giữa các trình duyệt, nên trong Tauri đôi khi cần dùng polyfill
- Bảo mật: Tauri tích hợp sẵn rất nhiều tính năng bảo mật nên mặc định an toàn
- Tự động cập nhật:
- Phía Tauri đơn giản hơn. Có Updater tích hợp sẵn (nhược điểm là phải tự vận hành máy chủ cập nhật)
- Electron thường dùng
electron-updater. Ưu điểm là tiện vì có thể lấy binary trực tiếp từ GitHub Releases
- Trải nghiệm nhà phát triển:
- Với Tauri, chỉ cần cài CLI là có thể dùng ngay mọi thứ (hot reloading, bundling, tạo ứng dụng, v.v.)
- Electron thì không có sẵn các thứ đó, chỉ cung cấp bản thân framework. Hot reloading/bundling phải tự lo
- Ưu điểm lớn nhất của Tauri là tương thích với mọi web framework
Kết luận
- Chọn Tauri
- Dù vẫn còn những phần chưa hoàn thiện, nhưng trong vài năm tới đội ngũ Tauri sẽ bắt kịp Electron
- Điều đáng kỳ vọng nhất là có thể dùng Deno làm backend, cùng với tự động cập nhật thuận tiện hơn và hỗ trợ iOS/Android
6 bình luận
Có vẻ như Tauri không dùng engine do họ tự xây dựng mà sử dụng thư viện webview có sẵn trên hệ thống.
Khi so sánh dung lượng bộ cài thì là 2.5MB so với 85MB,
sau khi cài đặt thì thành 3.64MB so với 221MB.
Wow, cái này có vẻ hay đấy!
Tôi thật sự rất mong chờ hỗ trợ ứng dụng di động.
Là một Rustacean, mình rất mừng khi hệ sinh thái Rust ngày càng phát triển. Trên Mac mình phải mở tới 3 ứng dụng Electron nên MacBook nóng kinh khủng hu hu
Tauri - framework ứng dụng web cho desktop tạo ra tệp thực thi nhỏ và nhanh
Tauri v1.0 phát hành
Trong phần bảo mật ở giữa bài có nói rằng Electron có thể truy cập đầy đủ vào Node API,
nhưng
nodeIntegrationnày từ sau 5.0 đã có giá trị mặc định là false, và từ 20.0 thì được xử lý sandbox, nên Electron cũng an toàn theo cách riêng của nó.https://www.electronjs.org/docs/latest/tutorial/security