DARTの宣言的なコンポーネントベースのWebユーザーインターフェイスを構築するため。
SVG&Standard HTML用のタイプ付き仮想要素の豊富なライブラリを提供します。
Reactと同様のインターフェイスでカスタムコンポーネントを定義することをサポートします。同じライフサイクル方法はすべてサポートされています。
最初からAsyncレンダリングを念頭に置いて構築されています。
DART 2、強いモード、およびDDCに完全に準拠しています。
Githubページのドキュメントをチェックして、フレームワークを詳細に見てください
ダートで書かれています。プラス:
ジェネレーターは、wui_builderの最もユニークな機能です。ジェネレーターは、DART HTMLおよびSVGパッケージで定義された各要素タイプの仮想DOM要素ビルダーを生成します。各仮想Dom Element Builderは、対応するHTML/SVG要素と同じ型付けセッターを提供します。これにより、回復力のあるコンポーネントを簡単に書き込むことができます。
次に、Wui_Builderは、大規模な更新でメインスレッドをブロックしないように反復レンダリングをサポートしています。反復的な更新は、アイドルコールバックのプロセスのみを更新します。つまり、レンダリングジョブとレイアウトは複数のフレームに分割されます。 wui_builderは、開発者にコンポーネントがいつレンダリングされるかを決定する力を与えます。これにより、開発者は、コンポーネントがアニメーションフレームでsyncronelyに更新されるか、オンでアイドル状態のコールバックで更新できるかを決定できます。理想的には、コンポーネントは次のとおりです。
ただし、アニメーションフレームやアイドルコールバックを待つことなく、同期の更新もオンデマンドで実行できます。
最後に、WUI_BUILDERは、CANが処理される前に同じコンポーネントへの複数の更新がキューに入っている場合、非紛争の更新を防ぎます。たとえば、SetStateOnimationFrameを使用してアニメーションフレームを更新するコンポーネントがあるとします。 SetStateOnimationFrameがフレーム間で2回呼び出される場合、更新プロセスは両方のState Setter関数を実行できるようにしながら1回しか実行されません。
注意、RequestIdLecallbackは現在すべてのブラウザでサポートされておらず、Wui_Builderには現時点ではポリフィルが含まれていません。同期レンダリングは、すべてのブラウザで引き続き機能します。こちらの互換性チャートをご覧ください。
class HelloWorldProps {
final String text;
HelloWorldProps ( this .text);
}
class HelloWorld extends PComponent < HelloWorldProps > {
HelloWorld ( String text) : super ( HelloWorldProps (text));
@override
VNode render () => VDivElement ()
..text = props.text;
}
// instantiate the component, pass it an instance of HelloWorldProps
final component = HelloWorld ( 'Hello world' );
// render the virtual element into a container
render (component, querySelector ( '#container' ));詳細な例については、GitHubページのドキュメントをご覧ください。