Yazılım geliştiricisi Tarwin Stroh-Spijer, modern dünyada şişkin ve kaynak tüketen uygulamalara bir alternatif olarak TinyJS adlı yeni bir JavaScript çalışma ortamını kullanıma sundu. macOS, Linux ve Windows işletim sistemleri için geliştirilen bu araç, 6MB veya daha küçük boyutlarda masaüstü uygulamaları oluşturmaya olanak tanıyor. 1992 yılının o küçük ve hızlı yazılım dönemine atıfta bulunan bu proje, Electron gibi devasa framework’lere ihtiyaç duymadan, işletim sistemlerinin yerleşik tarayıcı motorlarını kullanarak görselleştirme sağlıyor. Geliştiriciler, JavaScript, CSS ve HTML kullanarak herhangi bir derleme sürecine girmeden işlevsel ve son derece hafif uygulamalar ortaya koyabiliyor.
- TinyJS, uygulamaları çalıştırmak için her işletim sisteminin kendi WebView teknolojisini kullanarak dosya boyutunu 6MB seviyesine indiriyor.
- Electron framework’ünün aksine, uygulama başına Chromium çekirdeği paketlenmediği için bellek kullanımı önemli ölçüde düşüyor.
- Sistem, txiki.js adlı ultra kompakt bir JavaScript çalışma zamanı üzerine inşa ediliyor.
- Geliştiriciler, Node.js bağımlılığı olmaksızın React, Vue veya Svelte gibi popüler framework’leri bu yapıda çalıştırabiliyor.
Hafif Uygulamalar İçin Teknik Altyapı Oluşturuluyor
TinyJS’in temelindeki teknoloji, Saúl Ibarra Corretgé tarafından geliştirilen ve son derece kompakt bir yapı sunan txiki.js motoruna dayanıyor. Projenin sunduğu en büyük avantaj, Electron’un getirdiği 150MB’lık devasa boyut yükünü ortadan kaldırmasıdır. Bunun yerine, sistem macOS üzerinde WebKit, Windows’ta WebView2 ve Linux’ta WebKitGTK kullanarak uygulamaları render ediyor. Bu yöntem, uygulamanın işletim sistemiyle daha uyumlu çalışmasını sağlarken, donanım kaynaklarını minimum düzeyde kullanmasına imkan tanıyor.
Geliştirme süreci de oldukça sadeleştirilmiş durumda. Stroh-Spijer, uygulama içi veri transferi için işletim sistemlerinin yerleşik süreçler arası iletişim (IPC) mekanizmalarını kullanarak, ayrı bir HTTP sunucusu kurma zorunluluğunu ortadan kaldırdı. Bu sayede güvenlik riskleri azalırken, geliştiricilerin sadece web teknolojilerine odaklanması sağlanıyor. Ayrıca, geliştiriciler isterlerse bir web sayfasını doğrudan TinyJS ile paketleyerek masaüstü uygulaması haline getirebiliyorlar.
Çeşitli Örnek Uygulamalar Kullanıcıya Sunuluyor
Projenin bir parçası olarak hazırlanan uygulama mağazası, geliştiricilerin TinyJS’in potansiyelini görebilmeleri için 25 adet örnek uygulama içeriyor. Bu örnekler arasında dünya saati, markdown editörü, SQLite tarayıcısı ve hatta Winamp klonu gibi nostaljik ve işlevsel araçlar bulunuyor. Örneğin, Winamp klonu sadece 7.4MB boyutunda olup oldukça düşük bellek tüketimiyle çalışıyor.
Tauri gibi alternatiflerle karşılaştırıldığında, TinyJS’in Rust öğrenme zorunluluğu getirmemesi ve işletim sistemi özelliklerini (menüler, panolar, sistem tepsisi) daha kolay entegre etmesi geliştiriciler için önemli bir artı olarak öne çıkıyor. Bugünün güçlü bilgisayarlarında bile, hızlı açılan ve sistem kaynaklarını yormayan yazılımlara olan ihtiyaç, bu tür projelerin önemini artırıyor.
Sizce günümüz yazılım dünyasında bu kadar küçük ve optimize edilmiş uygulamalara geri dönüş bir zorunluluk mu, yoksa sadece nostaljik bir çaba mı? TinyJS gibi projelerin geleceği hakkındaki düşüncelerinizi yorum kısmında bizimle paylaşabilirsiniz.









