Geri Dön
Topcoat 0.9, Rust web uygulamalarına istemci sinyalleri ve server push getirdi
SiTech AI Team2 წთ. საკითხავი

Topcoat 0.9, Rust web uygulamalarına istemci sinyalleri ve server push getirdi

Tokio, Topcoat adlı full-stack Rust çatısını duyurmasından iki ay sonra 0.9 sürümünü yayınladı. Sürüm; istemci sinyalleri, sunucudan aktarılan arayüz güncellemeleri ve WebSocket üzerinden server push özelliklerini ekliyor.

Tokio, 24 Eylül 2026'da blogunda Topcoat hakkında bir yazı yayımladı: çatının tanıtımından iki ay sonra 0.9 sürümü çıktı. Yazının yazarları Carl Lerche ve Julien Scholz.

Topcoat; görünümleri, bileşenleri, e-posta gönderimini, varlık hattını ve Toasty adlı ORM'yi tek pakette topluyor ve tüm işaretleme sunucuda işleniyor, bu yüzden bileşenler asenkron olabiliyor ve ayrı bir API katmanı olmadan doğrudan veritabanına erişebiliyor.

İstemci sinyalleri ve shard'lar: WebAssembly olmadan etkileşim

Etkileşim, sunucuda başlatılıp tarayıcıda yaşayan durum değişkenleri olan sinyallere ve view! makrosunun içindeki runtime ifadelerine dayanıyor. Bu ifadeler, Topcoat'ın ilk render için sunucuda değerlendirdiği ve aynı zamanda JavaScript'e derlediği, tip denetiminden geçmiş bir Rust alt kümesi; böylece bir panelin açılıp kapanması gibi basit davranışlar ne sunucuya gidiyor ne de bir WebAssembly paketi gerektiriyor.

Arayüzün bir bölümü taze veriye ihtiyaç duyduğunda bileşen shard olarak işaretleniyor: argümanı değiştiğinde tarayıcı yeni değeri gönderiyor, sunucu bileşeni yeniden render edip yerinde değiştirilen güncellenmiş HTML döndürüyor. 0.8 sürümünden bu yana shard, render sırasında bir sinyali okuyabiliyor; Topcoat o zaman yalnızca bu değeri izleyen sayfa parçalarını yeniden getiriyor. Güncellenen öğeler tamamen değiştirilmek yerine morphing ile yenileniyor.

0.9'da akışlı güncellemeler ve server push

Sunucudan kaynaklanan güncellemeler için live! ve emit! makroları var: bir live! görünümü tek bir yanıtta sınırsız sayıda arayüz güncellemesi gönderebiliyor, yani önce yükleme göstergesi gidiyor, veri geldiğinde ise yerini gerçek içerik alıyor.

0.9 sürümü server push'u ekliyor: tarayıcı bir WebSocket bağlantısı açıp uzun ömürlü bağlantı üzerinden arayüz değişikliklerine abone olabiliyor; yazarlar örnek olarak bir sohbet bileşenini anıyor.

Toasty: yeni makrolar, doküman alanları, polimorfik ilişkiler

Yazı, Nisan 2026'dan beri kullanıma hazır olan Toasty'ye de yer veriyor. Yeni update! makrosu, satırı önce yüklemeden alanları güncelleyen ve sayaçları artıran tek bir SQL ifadesi üretiyor. Doküman alanları JSON sütunlarına birinci sınıf destek sağlayıp filtreleri PostgreSQL'in JSONB sorgularına çeviriyor, polimorfik ilişkiler ise Rust enum'ları ile normal ilişkilerin birleşimiyle ifade ediliyor.

Çatı neden var

Ruby on Rails çekirdek ekibinin eski üyesi Lerche, projeyi o dönemin üretkenliğini Rust'a taşıma girişimi olarak çerçeveliyor; ona göre bir web uygulaması birkaç on megabayt bellekte çalışabiliyor. Argümanını AI destekli geliştirmeye bağlıyor: iyi tanımlanmış konvansiyonlar ve soyutlamalar, bir modelin daha hızlı, daha az token ve daha az hatayla çalışmasına yardımcı oluyor. Topcoat ve Toasty, GitHub'da açık kaynak.

SSiTech

SiTech — AI destekli web geliştirme

Hızlı ve modern web siteleri kuruyor, AI'yı gerçek iş akışlarına taşıyoruz. Projeniz veya sorunuz mu var? Yardımcı olmaktan mutluluk duyarız.