
Topcoat 0.9 Rust veb tətbiqlərinə müştəri siqnalları və server push gətirdi
Tokio, Topcoat adlı full-stack Rust çərçivəsi haqqında elanından iki ay sonra bloq yazısı dərc edib və 0.9 versiyasını buraxıb. Yenilik müştəri tərəfində siqnallar, interfeysin axınlı yenilənməsi və WebSocket üzərindən server push əlavə edir.
Tokio 2026-cı il sentyabrın 24-də bloqunda Topcoat barədə yazı dərc edib: çərçivənin elanından iki ay sonra 0.9 versiyası buraxılıb. Yazının müəllifləri Karl Lerşe və Jülien Şoltsdur.
Topcoat görünüşləri, komponentləri, poçt göndərişlərini, resurs boru kəmərini və Toasty adlı ORM-i birləşdirir, bütün markup isə serverdə render olunur, buna görə komponentlər asinxron ola bilir və ayrıca API qatı olmadan birbaşa verilənlər bazasına müraciət edir.
Müştəri siqnalları və shard-lar: WebAssembly olmadan interaktivlik
İnteraktivlik serverdə işə salınan, amma brauzerdə yaşayan vəziyyət dəyişənləri olan siqnallara və view! makrosunun içindəki runtime ifadələrə əsaslanır. Bu ifadələr Rust-ın tam tip yoxlamasından keçən alt çoxluğudur: Topcoat onları ilk render üçün serverdə hesablayır və eyni zamanda JavaScript-ə kompilyasiya edir, beləliklə panelin açılıb-bağlanması kimi sadə davranış nə serverə müraciət, nə də WebAssembly paketi tələb edir.
İnterfeysin bir hissəsinə təzə məlumat lazım olduqda komponent shard kimi işarələnir: arqumenti dəyişən kimi brauzer yeni dəyəri göndərir, server komponenti yenidən render edib yerində əvəzlənən yenilənmiş HTML qaytarır. 0.8 versiyasından shard render zamanı siqnalı oxuya bilir; bu halda Topcoat yalnız həmin dəyəri izləyən səhifə hissələrini yenidən gətirir. Yenilənən elementlər tam əvəzlənmir, onlara morphing tətbiq olunur.
0.9-da axınlı yenilənmə və server push
Serverdən qaynaqlanan yenilənmələr üçün live! və emit! makroları var: live! görünüşü bir cavabda interfeysin qeyri-məhdud sayda yenilənməsini göndərə bilir, yəni əvvəlcə yüklənmə göstəricisi gedir, məlumat gələndə isə onun yerini real məzmun tutur.
0.9 versiyası server push əlavə edir: brauzer WebSocket bağlantısı açıb uzunömürlü bağlantı üzərindən interfeys dəyişikliklərinə abunə ola bilir; müəlliflər nümunə kimi söhbət komponentini göstərir.
Toasty: yeni makrolar, sənəd sahələri və polimorf əlaqələr
Yazı Toasty-yə də toxunur: bu ORM 2026-cı ilin aprelindən istifadəyə hazırdır. Yeni update! makrosu sətri əvvəlcə yükləmədən sahələri yeniləyən və sayğacları artıran tək SQL ifadəsi yaradır. Sənəd sahələri JSON sütunlarına tam dəstək verib filtrləri PostgreSQL-in JSONB sorğularına çevirir, polimorf əlaqələr isə Rust enum-ları ilə adi əlaqələrin birləşməsi ilə ifadə olunur.
Bu çərçivə nə üçün var
Ruby on Rails-in nüvə komandasının keçmiş üzvü Lerşe layihəni o dövrün məhsuldarlığını Rust-a köçürmək cəhdi kimi təqdim edir: veb tətbiq bir neçə on meqabayt yaddaşda işləyə bilir. Arqumentini AI dəstəkli proqramlaşdırmaya bağlayır: yaxşı müəyyən edilmiş konvensiyalar və abstraksiyalar modelin daha sürətli, daha az token və daha az səhvlə işləməsinə kömək edir. Topcoat və Toasty GitHub-da açıq mənbəlidir.
SiTech — AI ilə gücləndirilmiş veb hazırlanması
Sürətli və müasir saytlar qurur, AI-ı real biznes proseslərinə gətiririk. Layihəniz və ya sualınız var? Kömək etməyə hazırıq.