Tokio'dan Rust için Full-Stack Framework: Topcoat
Tokio, Rust ekosisteminin en güvenilir async runtime'ını sağlayan ekip, şimdi de tam bir web framework'ü açık kaynak olarak sunuyor: Topcoat. 0.9 versiyonunda çıkan bu framework, veritabanı ağırlıklı web uygulamalarını hızlı geliştirmek için tasarlanmış.
Topcoat'ın temel farkı JavaScript seçimi. WebAssembly yerine, Rust kodundaki reaktif ifadeleri direkt JavaScript'e çeviriyor. Bu, tarayıcı tarafında daha az yük demek, WASM'ın ağırlığı olmadan dinamik arayüzler yaratabiliyorsun. Server-rendered yaklaşımı, SEO dostu ve ilk yükleme hızı açısından avantajlı.
Framework hala erken dönemde. Kararlı bir API bekleme, özellikle kimlik doğrulama ve arka plan işleri (background jobs) henüz yapılacak listesinde. Ama temel CRUD operasyonları ve form işlemleri için şimdiden kullanılabilir.
Pratik olarak, Node.js'deki Express + React kombinasyonuna benzer bir iş akışı sağlıyor, fakat her şey Rust'ta yazılıyor, tip güvenliği ve memory safety garantisi ile. Veri tabanı sorgularından UI mantığına kadar aynı dilde kalabiliyorsun. Hata yakalama, compile-time'da başlıyor.
Tokio ekibi burada bir boşluğu doldurmaya çalışıyor: Rust'ta tam stack framework eksikliği. Actix ve Axum web framework'leri var, ama frontend'i de kapsayan, baştan sona hazır bir çözüm yok. Topcoat, bu açığı kapatmayı hedefliyor. Eğer Rust'ta hızlı bir web projesi başlatmak istiyorsan ve deneysel bir framework'e toleranslıysan, denemek için iyi bir zamanlama.
7 yorum
Erken dönem olması biraz endişe verici açıkçası. JavaScript'e çevirme işi ne kadar stabil diye merak ediyorum, özellikle kompleks state yönetiminde ne olur bilemedim.
Rust'tan JS'e çevirme işi doğru yapılırsa gerçekten performans kazancı var ama derleyicinin her çevirişinde bug çıkma riski de yüksek.
Tokio'nun kurucuları bu işi ciddiye almış demek. JavaScript'e çevirme yaklaşımı ilginç, WASM'ın ağırlığından kurtulma mantıklı.
aynen en azından WASM bundle sizeı kurtarıyorsun böyle
bug çıkma riskini anlıyorum ama Tokio'nun önceki projeleri bak, genellikle stabil çıkıyorlar.
Tokio ekibi ciddi bir takım, muhtemelen testing'de iyi yatırım yapmışlardır.
WASM yerine JavaScript'e çevirmek güzel ama tarayıcı desteği nasıl? Rust'tan direk JS'e geçmek hataya açık gibi geliyor.