wui_builder
0.3.0
用于在DART中建立基于组件的网络用户界面。
为SVG和标准HTML提供了丰富的类型虚拟元素库。
支持定义具有类似于React的接口的自定义组件。支持所有相同的生命周期方法。
从一开始就牢记异步呈现。
完全符合飞镖2,强模式和DDC。
在GitHub页面上查看文档,以了解该框架
它用飞镖写。加:
发电机是WUI_Builder最独特的功能。发电机为DART HTML和SVG软件包中定义的每个元素类型生成虚拟DOM元素构建器。每个虚拟DOM元素构建器提供与相应的HTML/SVG元素相同的键入设置器。这使得编写弹性组成部分变得容易。
接下来,WUI_Builder支持迭代渲染,以避免在大型更新中阻止主线程。迭代更新仅在空闲回调上的进程,这意味着渲染作业和布局将在多个帧中分配。 WUI_Builder赋予开发人员的权力,以决定何时应呈现组件。它允许开发人员可以决定组件是在动画框架上还是在和闲置回调的上方更新。理想情况下,组件将要么:
但是,还允许同步更新按需运行,而无需等待动画框架或空闲回调。
最后,当对同一组件的多个更新在任何可以处理之前排队时,WUI_Builder会防止不执行的更新。例如,假设我有一个使用SetStateonAnimationFrame在动画框架上更新的组件。如果SetStateOnAnimationFrame在帧之间两次调用,则更新过程只能运行一次,同时允许执行两个状态设置器功能。
注意,当前所有浏览器当前尚未支持requestIdleCallback,而WUI_Builder此时不包括Polyfill。同步渲染仍然适用于所有浏览器。请参阅此处的兼容性图表。
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页面上查看文档,以获取更多深度示例。