חזרה
Topcoat 0.9 מוסיפה אותות בצד הלקוח ודחיפה מהשרת לאפליקציות Rust
SiTech AI Team2 წთ. საკითხავი

Topcoat 0.9 מוסיפה אותות בצד הלקוח ודחיפה מהשרת לאפליקציות Rust

Tokio פרסמה סקירה של Topcoat, מסגרת ה-full-stack שלה ל-Rust, חודשיים אחרי ההכרזה, והוציאה גרסה 0.9. הגרסה מוסיפה אותות בצד הלקוח, עדכוני ממשק בזרימה מהשרת ודחיפה דרך WebSocket, וגם תכונות חדשות ל-Toasty.

ב-24 בספטמבר 2026 פרסמה Tokio פוסט בבלוג על Topcoat: חודשיים אחרי ההכרזה על המסגרת יצאה גרסה 0.9. את הפוסט כתבו קרל לרצ'ה וז'וליאן שולץ.

Topcoat כוללת תצוגות, קומפוננטות, שליחת דואר, צינור נכסים ו-ORM בשם Toasty, וכל הסימון מרונדר בשרת, כך שקומפוננטות יכולות להיות אסינכרוניות ולפנות ישירות למסד הנתונים, בלי שכבת API נפרדת.

אותות בצד הלקוח ו-shards: אינטראקטיביות בלי WebAssembly

האינטראקטיביות מבוססת על אותות (signals), משתני מצב שמאותחלים בשרת אך חיים בדפדפן, ועל ביטויי runtime בתוך מאקרו ה-view!. זו תת-קבוצה של Rust שעוברת בדיקת טיפוסים מלאה, ש-Topcoat מחשב בשרת ברינדור הראשון ומתרגם גם ל-JavaScript, כך שהתנהגות פשוטה, למשל פתיחת פאנל, לא דורשת פנייה לשרת ולא חבילת WebAssembly.

כשחלק מהממשק צריך נתונים חדשים, מסמנים את הקומפוננטה כ-shard: ברגע שהארגומנט שלה משתנה, הדפדפן שולח את הערך החדש, השרת מרנדר מחדש את הקומפוננטה ומחזיר HTML מעודכן שמוחלף במקום. מגרסה 0.8 יכול ה-shard לקרוא אות בזמן הרינדור, ואז Topcoat מביא מחדש רק את חלקי העמוד שעוקבים אחרי הערך. אלמנטים מעודכנים עוברים morphing במקום החלפה מלאה.

עדכונים בזרימה ודחיפה מהשרת בגרסה 0.9

עדכונים שמקורם בשרת משתמשים במאקרואים live! ו-emit!: תצוגת live! יכולה לפלוט מספר בלתי מוגבל של עדכוני ממשק בתשובה אחת, כך שנשלח תחילה מחוון טעינה, ואחרי שהנתונים מגיעים מוחלף התוכן האמיתי.

גרסה 0.9 מוסיפה דחיפה מהשרת: הדפדפן פותח חיבור WebSocket ונרשם לעדכוני ממשק דרך חיבור מתמשך, כפי שמדגימה קומפוננטת הצ'אט שהמחברים מתארים.

Toasty: מאקרואים חדשים, שדות מסמך ויחסים פולימורפיים

הפוסט עוסק גם ב-Toasty, ה-ORM שזמין לשימוש מאפריל 2026. מאקרו update! מייצר הצהרת SQL אחת שמעדכנת שדות ומגדילה מונים בלי לטעון את השורה קודם. שדות מסמך נותנים תמיכה מלאה בעמודות JSON ומתרגמים מסננים לשאילתות JSONB של PostgreSQL, ויחסים פולימורפיים מבוטאים בשילוב של enums ב-Rust עם יחסים רגילים.

למה המסגרת הזאת קיימת

לרצ'ה, לשעבר חבר בצוות הליבה של Ruby on Rails, מציג את הפרויקט כניסיון להעביר את הפרודוקטיביות של אותו עידן ל-Rust, שבה אפליקציית ווב רצה בכמה עשרות מגה-בייטים של זיכרון. הטיעון שלו קשור לפיתוח בעזרת AI: קונבנציות והפשטות מוגדרות היטב עוזרות למודל לעבוד מהר יותר, עם פחות טוקנים ופחות שגיאות. Topcoat ו-Toasty הן קוד פתוח ב-GitHub.

SSiTech

SiTech — פיתוח אתרים בכוח ה-AI

אנחנו בונים אתרים מהירים ומודרניים ומשלבים AI בתהליכי עבודה אמיתיים. יש לכם פרויקט או שאלה? נשמח לעזור.