Tauri: Rust’ta Hafif Elektron Mücadelecisi

Adanali

Member


  1. Tauri: Rust’ta Hafif Elektron Mücadelecisi

Signal, Slack, WhatsApp, Discord veya Visual Studio Code gibi birçok uygulama, uygulamaları birden fazla platformda çalıştırmak için bir çerçeve olan Electron’u kullanır. Uygulamanın kendisi HTML, CSS, JavaScript ve WebAssembly gibi web teknolojileri kullanılarak uygulanır. Electron, uygulamaları Chromium web tarayıcısı ve Node.js çalışma zamanı ile birlikte platforma özel bir pakette paketler. Web uygulaması, Node.js’deki arka uç adı verilen kısım aracılığıyla işletim sisteminin tüm arayüzlerine erişebilir.

Duyuru








Christian Liebel (@christianliebel) Karlsruhe’deki Thinktecture’da bir yazılım geliştiricisidir. İş uygulamalarının dijitalleşme ve modernizasyon projeleriyle müşterilerine destek vermektedir. Güçlü yanı, Angular, Progressive Web Apps, Project Fugu ve Web Components gibi modern web teknolojilerine dayalı çok platformlu uygulamalardır. Topluluğa yaptığı katkılardan dolayı Microsoft MVP’si ve Google GDE olarak tanındı.







Geliştiriciler bu yaklaşımla çok fazla zaman, para ve çaba tasarrufu sağlıyor çünkü uygulamalarını yalnızca web teknolojilerini kullanarak bir kez geliştirmeleri gerekiyor ve bunu web tarayıcıları da dahil olmak üzere çeşitli platformlara dağıtabiliyorlar.






Electron uygulaması olarak paketlenmiş paint.js.org aşamalı web uygulaması


Sadece meşhur bir ağır sıklet değil


Ne yazık ki, Electron uygulamaları iki çalışma ortamının birleşimi nedeniyle çok büyüktür: Electron’da paketlenmiş basit bir Merhaba Dünya uygulaması bile yaklaşık 100 MB boyutundadır.

Çalışan her örnek ek bellek tüketir ve bir uygulama paketindeki Node.js ile Chromium’un eski sürümleri güvenlik sorunlarına yol açabilir. Geliştiricilerin güncellemeleri yalnızca uygulamaları güncellendiğinde değil, aynı zamanda Electron güncellendiğinde de dağıtmaları gerekir.

Tauri sistemin web görselleştirmesine güveniyor









(Resim: Tarui.app)



Tauri’nin devreye girdiği yer burasıdır: Electron Challenger aynı zamanda web uygulamalarını platforma özel bir paket şeklinde paketlemenize de olanak tanır. Ancak Tauri kendi web tarayıcısını eklemiyor, bunun yerine uygulamanın üzerinde çalıştığı işletim sisteminin web görünümünü kullanıyor: Windows’ta WebView2, macOS’ta WebKit ve Linux’ta WebKitGTK.

Halen alfa aşamasında olan Tauri 2.0’da desteklenen platformlar listesine iOS ve Android de eklenecek. Bu platformlar Electron ile yönetilemez. Tauri ayrıca Cordova veya Capacitor gibi mobil işletim sistemleri için paketleyicilerin yerini alacak.







Görsel bir fark yok: burada Tauri’de PaintJS, WebKit altında macOS’ta.



Node.js yerine Rust


Arka uçta Tauri JavaScript değil, Rust kullanıyor. Bu bakımdan Node.js’nin uygulamanızla birlikte pakete dahil edilmemesi gerekmektedir. Tauri’li bir Merhaba Dünya uygulaması yalnızca 600 Kbyte boyutundadır. Sepetler kullanılarak uygulamalara başka dillerde yazılmış harici ikili dosyalar sağlanabilir.

Tauri için güvenlik konusu da çok önemlidir: Bu, gerekli programlama arayüzlerinin özel olarak etkinleştirilebileceği anlamına gelir. Ancak o zaman gerekli kod pakete dahil edilecektir. Tauri ayrıca otomatik güncelleme veya platformun bildirim sistemine entegrasyon gibi birçok gelişmiş özellik de sunuyor.

Web ekranının çeşitliliği bir dezavantaj olabilir


Ancak Tauri’nin dezavantajı, web uygulamasının artık farklı yürütme ortamlarında çalışmasıdır: belirli web arayüzleri veya CSS özellikleri için destek, farklı web motorları arasında farklılık gösterir, bu nedenle uygulamanın tüm yürütme ortamları hedefinde test edilmesi gerekir.

Electron GitHub tarafından yayınlanırken Tauri topluluk odaklı bir projedir. Tauri, şifre yöneticisi en azından şu anda Electron’u temel alan 1Password tarafından finansal olarak desteklenmektedir.

Çözüm


Tauri’nin ilk versiyonu çıkalı bir süre olmasına rağmen hâlâ “piyasadaki yeni çocuk”. Şu anda Tauri kullanıcıları arasında büyük isimler yok. Bununla birlikte, çerçevenin belki de öncü Electron’dan önce dikkate alınmasının nedeni yalnızca önemli ölçüde daha küçük ışın boyutu değildir. Npm komutunu kullanarak yeni bir Tauri uygulaması oluşturabilirsiniz npm create tauri-app yaratmak.


(kendim)



Haberin Sonu
 
Üst