Halo! Akhir-akhir ini, framework Tauri sering disebut sebagai "Electron Killer" karena menjanjikan ukuran binary yang sangat kecil dan penggunaan RAM yang efisien. Namun, bagi kita yang sedang membangun aplikasi dengan UI/UX kompleks—seperti proyek v_framer saya—ada satu kenyataan pahit yang harus dihadapi: The Safari Tax.
Di artikel kali ini, kita akan bedah secara teknis kenapa sistem WebView di macOS (Safari) seringkali menjadi hambatan besar bagi pengguna Tauri, dan bagaimana menentukan pilihan antara tetap di Tauri atau balik ke Electron.
Akar Masalah: Inkonsistensi Engine WebKit
Berbeda dengan Electron yang membundel Chromium di semua OS, Tauri menggunakan WebView bawaan sistem (OS-native). Di Windows Anda mendapatkan WebView2 (Chromium), tapi di macOS Anda dipaksa menggunakan WKWebView (WebKit/Safari).
Inilah awal dari segala masalah. WebKit pada macOS seringkali memiliki perilaku rendering dan dukungan API yang berbeda jauh dengan Chromium. Bagi developer, ini berarti Anda harus melakukan debugging dua kali untuk satu fitur yang sama.
Kenapa Safari Begitu Bermasalah di macOS?
Banyak developer, termasuk saya saat mengerjakan v_framer, menemui hambatan yang bersifat blocking di Safari:
- API Web yang Tertinggal: Safari seringkali paling lambat dalam mendukung standar web modern seperti WebGPU, WebUSB, atau FileSystem API tingkat lanjut.
-
Bug Rendering Spesifik: Masalah pada
backdrop-filter, glitch pada SVG, hingga inkonsistensi animasi CSS sering muncul hanya di macOS. - Keterbatasan WKWebView: Sebagai sistem webview, ia memiliki pembatasan keamanan dan manajemen memori yang lebih ketat dibanding browser standalone, yang sering menyebabkan isu pada komunikasi IPC (Inter-Process Communication).
Apakah Tauri v2 Sudah Memperbaiki Ini?
Sayangnya, hingga Tauri v2 (Latest), ketergantungan pada engine sistem tetap ada. Tauri v2 memang membawa fitur mobile (iOS/Android), tapi di macOS, ia tetap menggunakan WebKit.
Harapan masa depan ada pada Verso, engine berbasis Servo (Rust-based) yang sedang dikembangkan tim Tauri. Namun, selama Verso belum stabil, masalah Safari ini akan tetap menghantui.
Referensi Terkait Verso: https://github.com/tauri-apps/tauri/issues/14963#issuecomment-3915824782
Panduan: Kapan Harus Bertahan atau Pindah ke Electron?
Sebagai developer yang pragmatis, kita harus tahu kapan saatnya berpindah. Berikut panduannya:
1. Tetap Gunakan Tauri Jika:
- Aplikasi Anda bersifat Utility sederhana (misal: Menubar app, System monitor).
- Anda sangat memprioritaskan ukuran file kecil ( < 10MB).
- Anda butuh keamanan tinggi yang ditawarkan oleh bahasa Rust.
- Logic aplikasi lebih banyak berada di sisi backend (Rust) daripada di UI.
2. Segera Pindah ke Electron Jika:
- Aplikasi Anda adalah Creative/Design Tools (seperti v_framer) yang butuh rendering presisi.
- UI Anda sangat berat dengan animasi kompleks dan CSS modern tingkat lanjut.
- Anda butuh konsistensi mutlak (Apa yang Anda lihat di Chrome Windows, harus sama di Mac).
- Anda tidak punya waktu luang untuk debugging bug spesifik Safari setiap kali rilis fitur baru.
Kesimpulan
Tauri adalah teknologi yang luar biasa, tapi ia bukan peluru perak. Masalah Safari di macOS adalah konsekuensi dari penghematan resource yang ditawarkan Tauri. Jika stabilitas engine browser adalah prioritas nomor satu Anda, maka Electron tetap menjadi pilihan yang paling rasional saat ini.
Jangan ragu untuk berpindah demi kualitas produk. Sebagaimana kasus v_framer, pindah ke Electron bisa jadi adalah langkah maju, bukan mundur.

Posting Komentar