30 điểm bởi xguru 2022-08-23 | 6 bình luận | Chia sẻ qua WhatsApp

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

 
joone 2022-08-29

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.

 
kayws426 2022-08-23

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.

 
ifmkl 2022-08-23

Wow, cái này có vẻ hay đấy!

 
jjpark78 2022-08-23

Tôi thật sự rất mong chờ hỗ trợ ứng dụng di động.

 
freedomzero 2022-08-23

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

 
xguru 2022-08-23

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 nodeIntegration nà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