メインコンテンツにスキップ

·読むのに4分
Muhammad Hamza

Yew開発チームは、開発者がRustを使用して信頼性が高く高性能なWebアプリケーションを作成できるようにするための重要なマイルストーンであるYew 0.21.0を発表できることを嬉しく思います。このリリースの主なハイライトを見ていきましょう。

新着情報

1. シグネチャの変更:フック依存関係の変更

Yew 0.21の重要な変更点の1つは、依存関係を受け入れるフックのシグネチャの調整です。依存関係は、クロージャの後に2番目の引数として渡されていました。ただし、現在はクロージャの前に最初の引数として渡されます。

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種類になりました

  • **ワーカーエージェント:**複雑な状態を処理するように設計された、アクターモデルを使用する元のエージェント。

  • **ワンショットエージェント:**各エージェントに対して単一の入力と単一の出力を期待するシナリオ用に設計されています。

  • **リアクターエージェント:**各エージェントに複数の入力と複数の出力が必要な状況に最適です。

yew-agentのドキュメントで詳細をご覧ください

4. パフォーマンスの向上:より高速でスムーズなエクスペリエンス

Yew 0.21は、大幅なパフォーマンスの向上をもたらします。メモリ使用量を削減し、レンダリングを強化する最適化により、Webアプリケーションはより高速かつ効率的に実行されます。

コントリビューター募集

Yewプロジェクトはコミュニティの参加によって発展しており、私たちはコントリビューターを歓迎します。経験豊富なRust開発者であっても、始めたばかりであっても、Yewの成長に有意義な影響を与えるための方法はたくさんあります。

貢献できる分野は次のとおりです

  • **コードの貢献:** RustでのWeb開発に情熱を持っている場合は、Yewにコードを貢献することを検討してください。バグの修正、新機能の追加、ドキュメントの改善など、あなたのコードはYewをさらに優れたものにするのに役立ちます。

  • **ドキュメント:**明確で包括的なドキュメントは、プロジェクトの成功に不可欠です。ドキュメントの改善、チュートリアルの作成、他の人がYewを効果的に理解して使用できるようにするための例の creation に貢献できます。

  • **テストとバグ報告:** Yewをテストし、発生したバグを報告することは貴重な貢献です。あなたのフィードバックは、問題を特定して修正し、すべての人にとってより安定したフレームワークを確保するのに役立ちます。

  • **コミュニティサポート:**ディスカッション、チャットルーム(独自のDiscordとMatrixがあります!)、またはソーシャルメディアに参加して、Yewを使用している他の開発者を支援してください。あなたの知識を共有し、他の人が問題を解決するのを助けることは、貢献する素晴らしい方法です。

Yewのようなオープンソースプロジェクトに貢献することは、コミュニティに還元するだけでなく、学習、コラボレーション、スキル向上のための絶好の機会でもあります。

始めるには、Yew GitHubリポジトリと貢献ガイドラインを確認してください。あなたの貢献は大歓迎であり、Yewの将来を形作る上で重要な役割を果たします。このエキサイティングな旅に参加してください!

ありがとう!

多くの人々が集まってYew 0.21を作成しました。皆さんの協力なしには、これを実現することはできませんでした。ありがとう!

完全な変更履歴を見る