Tauri ile Altı Ay: Rust Çekirdek Mimarisinin Faydası ve Bedeli
Tauri ile bir veritabanı istemcisi geliştiren mühendisin altı aylık deneyimi: Rust backend avantajları, IPC güvenliği ve üç webview motorunun bedeli.
Bir masaüstü veritabanı istemcisi (Tabularis) geliştiren bir mühendis, Electron, üç ayrı native uygulama ve Tauri arasında seçim yapma sürecini altı aylık üretim deneyimiyle anlatıyor. Seçimi belirleyen şey küçük kurulum dosyası değil, backend'in JavaScript yamalarıyla değil sıradan bir Rust programı olarak yazılabilmesiydi: SQLx, Tokio, rustls ve keyring gibi bağımlılıklar doğrudan tip güvenli şekilde birbirine bağlanıyor, ayrıcalıklı işlemler ise Tauri komutları üzerinden açık bir IPC sınırından geçiyor.
Ancak bu mimarinin bir bedeli var: Tauri tarayıcı motoru göndermiyor, bunun yerine platformun webview'ini kullanıyor (macOS'ta WKWebView, Linux'ta WebKitGTK, Windows'ta WebView2). Bu da tek bir render motoru yerine üçünü birden desteklemek anlamına geliyor; CSS, girdi davranışı ve GPU birleştirme konusunda farklılık gösterebiliyorlar. En büyük sürtünme Linux tarafında yaşanıyor: dağıtıma özgü WebKitGTK sürümleri, Wayland uyumsuzlukları ve taşınabilirlik için gereken AppImage paketi, diğer formatların yaklaşık 15-18 MB'lık boyutuna karşın 94 MB'a çıkabiliyor.
Mühendisler için çıkarım net: Electron çalışma zamanı için, native uygulamalar platform sayısı için, Tauri ise bu iki uç arasındaki dikişler için bedel alıyor. Küçük kurulum dosyası pazarlaması gerçek ama hikayenin sadece yarısı; asıl mühendislik maliyeti üç farklı webview motorunu desteklemek ve özellikle Linux ekosisteminin dağınıklığıyla baş etmekte ortaya çıkıyor.
Bu sentez, kaynağından yapay zeka tarafından üretildi; insan editör ya da elle onay adımı yoktur. Nasıl çalışıyoruz