23 poin oleh xguru 2025-04-16 | 6 komentar | Bagikan ke WhatsApp
  • Saat mengembangkan aplikasi remote control berlatensi sangat rendah untuk remote pair programming, Hopp mengadopsi Tauri sebagai framework aplikasi
    • Alasan pemilihannya antara lain performa, efisiensi memori, dukungan sidecar, dan lainnya
  • Dengan backend berbasis Rust + penggunaan WebView sistem, ukuran aplikasi dan penggunaan memori jauh lebih kecil dibanding Electron
  • Di Tauri v2, kesenjangan fitur juga cepat teratasi, dengan fitur inti seperti auto-update dan sidecar yang sudah terintegrasi
  • Electron tetap kuat, tetapi untuk kebutuhan khusus Hopp, Tauri lebih cocok

Mengapa Hopp memilih Tauri

Latar belakang: memilih framework aplikasi lintas platform

  • Hopp membutuhkan aplikasi desktop berperforma tinggi yang berjalan sama di Windows, macOS, dan Linux
  • Electron dan Tauri adalah dua pilihan utama, dan masing-masing memiliki kelebihan serta kekurangan yang jelas
  • Tim Hopp memilih dengan mengutamakan kemudahan pemeliharaan jangka panjang dan performa

Tauri vs. Electron: perbedaan struktural

  • Struktur Electron

    • Perlu menyertakan runtime Node.js → ukuran aplikasi membesar
    • Setiap jendela menggunakan proses renderer terpisah (engine Chromium) → konsumsi memori besar
    • Integrasi mendalam dengan sistem memerlukan proses tambahan
  • Ringkasan struktur Tauri

    • Backend berupa binary native berbasis Rust → tidak memerlukan runtime terpisah
    • Menggunakan WebView sistem (Windows: WebView2, macOS: WKWebView, Linux: WebKitGTK)
    • Efisiensi memorinya baik seiring jumlah jendela bertambah, tetapi perlu mengelola isu ketidaksesuaian engine browser

Perbandingan fitur inti

  • Waktu startup Tauri dan Electron sama-sama cepat, dan secara pengalaman tidak ada perbedaan besar
  • Dalam penggunaan memori, Tauri jauh lebih hemat
    • Tauri menggunakan sekitar 172MB memori
    • Electron sekitar 409MB, sehingga mengonsumsi lebih dari 2 kali lipat memori
  • Dari sisi engine rendering
    • Tauri menggunakan WebView bawaan sistem operasi, sehingga ukuran aplikasi kecil dan ringan
    • Electron menyertakan engine Chromium langsung di dalam aplikasi, sehingga memakai lebih banyak resource
  • Untuk bahasa backend
    • Tauri menggunakan Rust, sehingga memungkinkan penulisan kode native berperforma tinggi
    • Electron berbasis JavaScript(Node.js), akrab bagi web developer tetapi performanya relatif lebih rendah
  • Untuk waktu build awal
    • Tauri menyertakan kompilasi Rust sehingga build awal lebih lambat
    • Electron berbasis JS sehingga build awal lebih cepat
  • Dalam perbandingan ukuran aplikasi
    • Tauri sekitar 8.6MiB, sangat ringan
    • Electron sekitar 244MiB, atau sekitar 28 kali lebih besar

Alasan paling menentukan Hopp memilih Tauri

  • 1. Backend Rust berperforma tinggi

    • Perlu mengimplementasikan streaming video berlatensi sangat rendah berbasis WebRTC
    • Di Electron harus menjalankan proses terpisah, tetapi di Tauri bisa diimplementasikan langsung di backend Rust
  • 2. Dukungan proses sidecar

    • Streaming dan pemrosesan input dikelola dengan memisahkannya ke binary terpisah
    • Tauri mendukung sidecar secara resmi → pengelolaan siklus hidup dan komunikasi menjadi mudah
    • Ke depan, mereka juga mempertimbangkan ekspansi ke Tauri egui untuk rendering kursor
  • 3. Dukungan fitur yang berkembang cepat

    • Tauri v2 sudah menyertakan fitur inti seperti auto-update
    • Meski relatif lebih baru dibanding Electron, visi yang berfokus pada keamanan dan performa selaras dengan Hopp

Kesimpulan: framework mana yang lebih baik?

  • Electron dan Tauri sama-sama framework aplikasi desktop yang sangat baik
  • Pilihan dapat berbeda tergantung karakter proyek
    • Electron: pengembangan cepat, ramah JS, ekosistem luas
    • Tauri: lebih kecil, lebih ringan, lebih cepat, dan dioptimalkan untuk performa berbasis Rust
  • Hopp mengadopsi Tauri karena memerlukan tech stack yang berfokus pada performa serta konfigurasi proses terpisah

6 komentar

 
naratteu 2025-04-20

Saya menggunakan webui. Ukurannya juga kecil dan ketergantungan runtime jauh lebih sedikit.

 
sddsdd94 2025-04-16

Akan lebih bagus kalau Wails juga ikut dibandingkan.

 
secret3056 2025-04-16

Sebaliknya, saya justru menangkapnya sebagai bahwa dalam kebanyakan kasus Electron sudah cukup.
Mungkin karena saya masih punya ingatan bahwa pengalaman komunikasi back-front di masa awal Tauri tidak terlalu bagus...

 
softer 2025-04-16

Perbedaan mesin browser memang terasa seperti isu besar, tetapi jika mempertimbangkan dukungan termasuk mobile, rasanya juga tidak sebesar itu.

 
pcj9024 2025-04-16

Kalau masalah ukuran aplikasi besar, sepertinya memang paling tepat langsung memilih Tauri.

 
wfedev 2026-01-16

Sepertinya saya perlu mencobanya dulu untuk melihat apakah ini pilihan yang tepat dari sisi ukuran, memori, dan sidecar! Terima kasih atas pengenalannya.