Karşılaştırmalara geri dön
Çapraz platform UI

Perry vs Tauri

Tauri; Rust backend ve işletim sisteminin yerleşik webview'i içinde çalışan bir frontend ile çapraz platform masaüstü (ve giderek mobil) uygulamalar inşa etmek için bir framework'tür — Windows'ta WebView2, macOS'ta WKWebView, Linux'ta WebKitGTK. Tauri uygulamaları, OS webview'i paketlenmediği için Electron'dan çarpıcı şekilde daha küçüktür. Perry farklı bir yol izler: hiç webview yok, HTML render yok, sadece gerçek platform widget'larını süren yerel makine koduna derlenmiş TypeScript.

Tauri nedir?

Tauri, web frontend (herhangi bir framework — React, Vue, Svelte, vb.) ve Rust backend ile çapraz platform uygulamalar inşa etmenize izin veren, Rust ile yazılmış açık kaynak bir framework'tür. Chromium paketlemek yerine Tauri sistemin yerleşik webview'ini kullanır; bu da Linux/Windows/macOS'ta uygulama yükleyicilerini tek haneli MB aralığında tutar. Tauri 2 mobil (iOS ve Android) desteği ekledi. Frontend, sistem webview'i tarafından HTML/CSS/JS olarak render edilir; Rust backend ile iletişim bir IPC köprüsü üzerinden olur.

Perry nedir?

Perry, TypeScript'i LLVM aracılığıyla doğrudan yerel makine koduna derler. UI katmanı (perry/ui), webview tarafından render edilen HTML değil, yerel platform widget'larına eşlenen bildirimsel SwiftUI tarzı bir API'dir. Perry ile yazılmış uygulamalar bir JavaScript motoru taşımaz, WebKit/WebView2 içinde çalışmaz ve UI ile mantık arasında bir IPC köprüsü gerektirmez. Perry; mobil, watch ve TV dahil 10 platformu hedefler.

Yan yana

ÖzellikPerryTauri
UI renderYerel platform widget'ları (AppKit, UIKit, GTK4, Win32, JNI)Sistem webview'i (WKWebView, WebView2, WebKitGTK) — HTML/CSS/JS
Frontend diliTypeScript (bildirimsel widget API'si)Herhangi bir web framework'ü ile HTML/CSS/JS (React, Vue, vb.)
Backend diliTypeScriptRust
UI ve mantık arasında IPCYok — tek süreç, doğrudan çağrılarGerekli (UI webview'de, mantık Rust sürecinde)
Hello-world yükleyici~330 KB~3–10 MB (webview OS tarafından sağlanır)
Mobil (iOS, Android)Evet — yerel UIEvet — webview tabanlı (Tauri 2)
Watch / TVwatchOS, tvOS, Wear OSHayır
WebAssembly hedefiEvet (DOM köprüsü ile perry/ui)Yok (Tauri'nin kendisi yerel olarak webview kullanır)
Olgunluk1.0 öncesiKararlı (1.x / 2.x)

Perry'nin kazandığı yerler

  • +Gerçekten yerel UI — Perry HTML render etmez; gerçek platform widget'larını sürer, böylece uygulamalar yerel kaydırma fiziğini, focus, erişilebilirlik, IME ve OS temalandırmasını ücretsiz olarak miras alır.
  • +Daha küçük hello-world (~330 KB vs Tauri'nin tek haneli MB'si) ve çalıştırma zamanında sistem webview bağımlılığı yok.
  • +Tek dil, tek süreç. Tüm uygulama — UI ve mantık — TypeScript'tir; tasarlanacak veya hata ayıklanacak bir IPC köprüsü yoktur.
  • +watchOS, tvOS, Wear OS ve paketlenmiş webview'ler değil, gerçek yerel derleme pipeline'larıyla tam bir Web/JS hedefi.
  • +Platformlar arasında webview davranışı farklılıkları yok. Tauri WKWebView vs WebView2 vs WebKitGTK'nın tuhaflıklarını miras alır; Perry her OS'ta yerel widget yolunu seçer.
  • +Hesaplama performansı AOT-yereldir, webview-JIT değil. Perry, M1 Max üzerinde eşleştirilmiş koşullarda hesaplama mikro-benchmark'larında öndedir (perry/benchmarks).

Tauri'in kazandığı yerler

  • +Aktif 2.x serisi ve büyük bir topluluğa sahip olgun, kararlı framework.
  • +Frontend esnekliği — zaten bildiğiniz herhangi bir web framework'ünü (React, Vue, Svelte, Solid, vb.) kullanın.
  • +Tauri Chromium paketlemek yerine OS tarafından sağlanan webview'e dayandığı için Electron'dan daha küçük yükleyiciler.
  • +Sistem düzeyinde işiniz varsa (dosya sistemi, yerel API'ler) ve orada derleme zamanı garantileri istiyorsanız Rust backend idealdir.
  • +Webview render etme, web geliştirmesinden beklediğiniz gibi CSS/HTML iterasyon hızının ve devtools'un çalışması anlamına gelir.
  • +Yerleşik paketleme, kod imzalama ve güncelleyici pipeline'ı.

Perry'i ne zaman seçmeli

Gerçekten yerel UI istiyorsanız (webview'de render edilen HTML değil), webview bağımlılığı olmayan küçük yerel ikili dosyalar istiyorsanız, masaüstü + mobil + watch + TV genelinde tek bir TypeScript kod tabanı istiyorsanız ya da derleme zamanında doğrulanmış çapraz platform widget kodu istiyorsanız Perry'yi seçin.

Tauri'i ne zaman seçmeli

Mevcut veya planlanmış bir web frontend'iniz varsa, küçük yükleyicili Rust destekli bir masaüstü uygulaması istiyorsanız, UI için HTML/CSS'tan memnunsanız ya da geniş web framework'leri ve araçları ekosistemini istiyorsanız Tauri'yi seçin.

Karar

Tauri çok daha iyi bir Electron'dur — aynı web teknolojisi yaklaşımı, OS webview'i paketlenmediği için çarpıcı şekilde daha küçük yükleyici. Ama yine de webview tabanlı bir mimari, yani HTML/CSS/JS render etme ve bir IPC köprüsü demektir. Perry farklı bir konumda durur: hiç webview yok, yerel platform widget'ları, tek süreç. Web yığınını Electron'dan daha küçük ikili dosyalarla tutmak istiyorsanız, Tauri doğru cevaptır. Web yığınını TypeScript'te yerel widget'lar lehine bırakmak istiyorsanız, cevap Perry'dir.

Perry'yi deneyin

TypeScript'inizi bugün yerel koda derleyin.

Başlayın