선언을 구축하려면 DART의 구성 요소 기반 웹 사용자 인터페이스.
SVG 및 표준 HTML 용 유형의 가상 요소의 풍부한 라이브러리를 제공합니다.
React와 유사한 인터페이스를 사용하여 사용자 정의 구성 요소 정의를 지원합니다. 동일한 수명주기 방법이 모두 지원됩니다.
처음부터 비동기 렌더링으로 구축되었습니다.
DART 2, Strong Mode 및 DDC를 완전히 준수합니다.
github 페이지의 문서를 확인하십시오.
다트로 작성되었습니다. 을 더한:
발전기는 WUI_Builder의 가장 독특한 기능입니다. 발전기는 DART HTML 및 SVG 패키지에서 정의 된 각 요소 유형에 대한 가상 DOM 요소 빌더를 생성합니다. 각 가상 DOM 요소 빌더는 해당 HTML/SVG 요소와 동일한 타이핑 세터를 제공합니다. 이를 통해 탄력성 성분을 쉽게 작성할 수 있습니다.
다음으로 WUI_BUILDER는 대규모 업데이트에서 기본 스레드를 차단하지 않도록 반복 렌더링을 지원합니다. 반복 업데이트는 유휴 콜백의 프로세스 만 프로세스하므로 렌더링 작업 및 레이아웃이 여러 프레임에 걸쳐 분할됩니다. Wui_Builder는 개발자에게 구성 요소가 렌더링 해야하는시기를 결정하기 위해 전원을 제공합니다. 개발자가 컴포넌트가 애니메이션 프레임 또는 on 및 유휴 콜백에서 동시에 업데이트되는지 결정할 수 있습니다. 이상적으로는 구성 요소가 다음 중 하나입니다.
그러나 애니메이션 프레임이나 공회전 콜백을 기다리지 않고도 SynCronous 업데이트도 주문형으로 실행할 수 있습니다.
마지막으로, WUI_BUILDER는 처리 할 수 있기 전에 동일한 구성 요소에 대한 여러 업데이트가 대기열되면 비기업 업데이트를 방지합니다. 예를 들어, setstateonAnimationFrame을 사용하여 애니메이션 프레임에서 업데이트하는 구성 요소가 있다고 가정 해 봅시다. SetStateonAnimationFrame을 프레임 사이에서 두 번 호출하면 업데이트 프로세스는 한 번만 실행되며 두 상태 세터 기능이 모두 실행될 수 있습니다.
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 페이지의 문서를 확인하십시오.