- Hem mobil hem de masaüstünü destekleyen, çeşitli donanımlarda çalışabilen minimal bir JavaScript çalışma zamanı
- Asenkron olay tabanlı mimarisiyle modülerlik, çok yönlülük ve hafiflik odağı
- P2P uygulama geliştirme ve çapraz platform uygulamalar için optimize edilmiş
Başlıca özellikler
-
Tamamen modüler yapı
- Standart kütüphane yok → yalnızca gereken işlevleri içe alan modül yaklaşımı
- Örnek:
bare-fs, bare-http1, bare-crypto, bare-zlib, bare-stream vb.
- Yalnızca gerekli özelliklerin kurulup kullanıldığı yapıyla hafif bir çalışma zamanı ortamı oluşturulabilir
-
ESM ve CommonJS uyumluluğu
- Hem
require() hem de import kullanılabilir
- İki modül sisteminin karışık olduğu ortamlarda da özgürce birlikte çalışabilir
-
Mobil optimizasyon desteği
- Bare Kit kullanılarak mobile JavaScript çalışma zamanı gömülebilir
react-native-bare-kit ile Android ve iOS'a kolayca entegre edilir
- IPC iletişim desteği ile React Native uygulamalarında Bare worklet'leri çalıştırılabilir
-
Native eklenti desteği
libjs ve libuv tabanlı native eklentiler yazılabilir
- Çeşitli JavaScript motorlarını destekler (V8, JavaScriptCore, QuickJS)
- N-API sembollerinin büyük kısmı kullanılabilir
Bare'in felsefesi: sadelik güçtür
- Bare, küçük ve modüler çalışma zamanı yapısı sayesinde hem masaüstünde hem mobilde performans kaybı olmadan çalışabilir
- Node.js gibi asenkron olay tabanlı bir mimari sunar, ancak gömülebilirlik ve cihazlar arası uyumluluk odağıyla tasarlanmıştır
Bare ile neler yapılabilir
-
P2P uygulamalar
- Holepunch yığını temelinde gerçek zamanlı veri akışı, dosya paylaşımı ve iletişim uygulamaları hızlıca geliştirilebilir
- Keet ve Pear gibi sunucusuz iletişim ve paylaşım uygulamaları oluşturulabilir
- WebRTC olmadan da yüksek performanslı gerçek zamanlı iletişim desteklenir
- Hafif yapı ve modülerlik sayesinde ölçeklenebilirlik ve verimlilik birlikte sağlanır
-
Merkeziyetsiz ağlar
- Sunucusuz yapıyla blockchain düzeyinde dağıtıklık sağlanır
- DeFi, veri paylaşımı, özel ağlar gibi çeşitli dağıtık uygulamalar için uygundur
-
Yüksek verimli veri paylaşımı
- Medya kütüphaneleri, gerçek zamanlı oyunlar ve video akışı için uygundur
- Hızlı ve kararlı senkronizasyon ile streaming desteği sunar
-
Kendine yeterli çapraz platform uygulamaları
- Bir kez yazılan modüller hem mobilde hem masaüstünde yeniden kullanılabilir
- Örnek: push bildirimleri, video yeniden kodlama, şifreleme işlemleri gibi işler düşük donanımlı ortamlarda da sorunsuz çalışır
Performans ve ölçeklenebilirlik
- V8, JavaScriptCore, QuickJS gibi çeşitli JS motorlarını destekler
- LibJS entegrasyonu ile mevcut çalışma zamanlarıyla uyumluluk korunur
- Native düzeyde performans sağlamak için fastcall uygulanır
- Teknik lider Kasper Isager: "Bare, her yerde çalışabilmesi için tasarlandı — bilgisayarlardan telefonlara, gömülü sistemlere kadar"
Pear + Bare = eksiksiz bir P2P geliştirme yığını
- Pear, P2P çalışma zamanı ile geliştirme ve dağıtım araçlarını birleştiren bir platformdur
- Bare tabanlı uygulamalar Holepunch'un Pear Runtime'ında çalışır ve sunucusuz da işleyebilen eksiksiz bir P2P ortamı sunar
- Sunucu maliyeti yok, veri gizliliği tam güvence altında
- Pear otomatik güncellenir ve Bare çalışma zamanını da birlikte içerir
- Bu birleşim tamamen yeni bir hafif container modeli sunar
Sonuç
- Bare, JavaScript'in gerçek çok yönlülüğünü ve verimliliğini hayata geçiren yenilikçi bir çalışma zamanı
- Holepunch ekibi içinde de tek sefer yazılan kodla mobil + masaüstü uygulamalar aynı anda dağıtılıyor
- Gerçek anlamda "Write Once, Run Anywhere" yaklaşımını hayata geçiriyor
- Artık sunucusuz, tam teşekküllü P2P uygulamalar tek bir kod tabanıyla herhangi bir cihazda çalıştırılabiliyor
Henüz yorum yok.