Andromeda - Rust ile geliştirilen JavaScript/TypeScript çalışma zamanı
(tryandromeda.dev)- Rust tabanlı JavaScript/WebAssembly motoru Nova ve JS derleyicisi Oxc üzerine kurulu olup hızlı çalışma hızı ve güvenlik sunar
- Sıfır yapılandırmalı TypeScript desteği, GPU hızlandırmalı 2D Canvas API, Web Crypto, SQLite, Web Storage gibi kapsamlı Web API'leri destekler
- Geliştiriciler için entegre araç zinciri (REPL, biçimlendirici, bundler, tek çalıştırılabilir dosya derleyicisi) ve yerleşik LSP sunarak çeşitli editörlerde kullanılabilir
- Mevcut Node.js ve Deno ile karşılaştırıldığında daha düşük bellek kullanımı sunar ve TypeScript, grafik işleme ve tek dosya derleme gibi alanlarda üstünlük sağlar
- Yeni nesil web uygulamaları, veri görselleştirme, oyunlar, yüksek performanslı betikler, web servisleri ve bilimsel hesaplamaya kadar destekleyen genel amaçlı bir çalışma zamanı
Teknik özellikler
- Mimari: Rust tabanlı çalışma zamanı, Nova motoru, çok iş parçacıklı model, sıfır kopya veri yapıları
- Web standartları: WHATWG Fetch API, W3C Canvas 2D, Web Crypto, TextEncoder/Decoder, WinterTC uyumluluğu
- Performans: 10 ms altı başlangıç süresi, donanım hızlandırma, optimize edilmiş bellek yönetimi ve modül çözümleme
- Güvenlik: sandbox çalıştırma, izin tabanlı API, Rust güvenliği, güvenli şifreleme
- Platform desteği: Linux, macOS(Intel/Apple Silicon), Windows, Docker, çapraz derleme
Node.js ve Deno ile karşılaştırma
- Bellek kullanımı: Andromeda ~12MB, Node.js ~40MB, Deno ~25MB
- TypeScript: Andromeda'da varsayılan olarak yerleşik, Node.js'te ek yapılandırma gerekir, Deno'da yerel destek vardır
- Grafik: Andromeda GPU hızlandırmalı Canvas desteği sunar, Node.js desteklemez, Deno kısmen destekler
- Tek dosya derleme: Andromeda yerel, Node.js üçüncü taraf, Deno yerleşik
- Güvenlik modeli: Andromeda bellek güvenliği + izin tabanlı, Node.js ise ağırlıklı olarak çalışma zamanı kontrollerine dayanır
8 yorum
nodejs gibi şeyleri başka uygulamalara bağlamak isteyince iş oldukça can sıkıcı hale geliyor; keşke biraz daha kolay olsa.
Son zamanlarda Rust ile ilgili çok şey çıkıyor gibi görünüyor..
Bun'ın bile nodejs API'siyle %100 uyumlu olması için daha çok yolu var; bunun ne kadar süreceğini merak ediyorum.
Bu tür projelerin başarısındaki kilit nokta, devasa npm kütüphane ekosistemiyle nasıl entegre olacağı gibi görünüyor... nodejs ile aynı API spesifikasyonuyla geliştirip sadece runtime'ı değiştirmek yeterli olacak şekilde... mevcut geliştirilen/işletilen kod tabanlarının değişiklik maliyetini en aza indirip uyumluluğu sağlayabilirse... ama zaten nodejs de en başta o kadar fazla bellek kullanmıyor ki haha
JavaScript ama V8 kullanmayan bir runtime mı? Vay canına
https://tr.news.hada.io/topic?id=17845
Yukarıdaki yazıda ilgili motor hakkında açıklama var!
Neden Bun'dan hiç bahsedilmiyor...
,aynen, ben de okumaya başlarken ilk onu düşündüm