跳到主要內容

·閱讀時間 4 分鐘
Muhammad Hamza

Yew 開發團隊很榮幸地宣布 Yew 0.21.0,這是一個重要的里程碑,它讓開發人員能使用 Rust 建立可靠的高效能應用程式。讓我們深入了解此版本的主要功能。

新功能

1. 變更簽章:修改 Hook 相依關係

Yew 0.21 的重大變更之一,是調整 Hook 接受相依關係的簽章。以前相依關係會在封閉後作為第二個引數傳遞。不過現在它們會在封閉前作為第一個引數傳遞。

use_effect_with_deps(deps, move |deps: Vec<i32>| {
// Do something with dependencies
});

交換程式碼片段中相依關係的順序原因,是為了應對特定的使用案例。在需要相同值來計算相依關係和移動值到封閉的情況下,新的順序簡化了程式碼,並改善程式碼的可讀性和人體工學。

這是一個重大的重大變更,因此我們已提供一個自動化重構的方式

2. 多功能子類型

Yew 現允許您在元件中使用任何類型作為子項。這表示您不再僅限於 Children 類型。相反地,您可以使用任何類型,甚至是 Html 或封閉函式,解除鎖定模式,例如

html! {
<Comp>
{|p: RenderProps| html!{<>{"Hello, "}{p.name}</>}}
</Comp>
}

3. 代理程式:完整重寫

Yew 0.21 提供 yew-agent 的完整重寫。這簡化並簡化工作者的運作方式。以下是您需要知道的事項

  • 推出提供者: 向舊的 Worker::bridge() 方法道別。現在,您可以使用 WorkerProvider / ReactorProvider / OneshotProvider 依照您的需求使用,透過使用掛鉤建立它們。

  • WorkerLink 到 WorkerScope: 我們已移除 WorkerLink,轉而使用 WorkerScope。此變更簡化了工作者架構,使其更容易管理和維護。

現在有 3 種類型的代理程式可依情況使用

  • Worker 代理程式: 使用執行者模型的原始代理程式,用於處理複雜的狀態。

  • 一次性代理程式: 專為您預期每個代理程式只有一個輸入和一個輸出的情況所設計。

  • 反應器代理程式: 適用於每個代理程式需要多個輸入和多個輸出的情況。

yew-agent 文件 中深入了解

4. 效能改善:更快速、更順暢的體驗

Yew 0.21 帶來顯著的效能改善。您的網路應用程式將執行得更快、更有效率,這歸功於減少記憶體使用量和增強繪製的最佳化。

尋找貢獻者

Yew 專案蓬勃發展,仰賴於社群參與,我們熱烈歡迎貢獻者。不論您是經驗豐富的 Rust 開發人員,還是開啟旅程的新手,都有很多方法可以參與,並對 Yew 的成長帶來有意義的影響。

以下列出一些您可以做出貢獻的領域

  • 程式碼貢獻: 若您熱衷使用 Rust 進行網路開發,請考慮為 Yew 貢獻程式碼。不論是要修正錯誤、新增功能或改善文件,您的程式碼都能幫助讓 Yew 變得更好。

  • 文件:明確而全面的文件對於任何專案的成功都是至關重要的。你可以透過改善文件、撰寫教學課程或創作範例來幫助他人了解並有效地使用 Yew。

  • 測試和錯誤回報:測試 Yew 和回報你遇到的錯誤是有價值的貢獻。你的回饋可以幫助我們找出並修復問題,確保這個架構對每個人來說都更加穩定。

  • 社群支援:加入討論、聊天室(我們有自己的 Discord 和 Matrix!)或社群媒體,來協助其他使用 Yew 的開發人員。分享你的知識並幫助其他人解決問題是不錯的貢獻方式。

對像 Yew 這樣的開源專案做出貢獻不僅是一種回饋社群的方式,也是學習、合作並提升你的技能的絕佳機會。

若要開始,請查看 Yew GitHub 儲存庫和貢獻指南。你的貢獻備受重視,並在形塑 Yew 的未來方面扮演至關重要的角色。加入我們這個令人興奮的旅程!

感謝!

許多人共同創作 Yew 0.21。你的幫助,我們的成就不可能發生。謝謝你!

請見 完整的變更記錄

·2 分鐘閱讀時間
Muhammad Hamza

Yew 團隊很高興宣佈 Yew 的一個新版本,這個版本期待好久了:v0.20。Yew 是用於建立可靠且有效率的網路應用程式的一個架構。