Ir para o conteúdo principal
WBC - GovBR-DS
Copiar página como Markdown para IA

Integração com Frameworks

A integração base é feita com Web Components. Os wrappers Angular, React e Vue só adaptam essa mesma API para convenções do framework, mantendo os componentes e os estilos no pacote principal.

O pacote @govbr-ds/core fornece tokens e estilos compartilhados. O pacote @govbr-ds/webcomponents fornece os Custom Elements, eventos, métodos, slots e CSS Parts. Use um wrapper quando precisar de tipagem, bindings ou integração específica com o ciclo de vida do framework.

Para mais detalhes sobre como o Stencil faz a integração, consulte a documentação do Stencil sobre integrações.

Note que, em determinadas situações, pode não ser possível fazer essa integração. Isso depende muito da evolução da especificação de Web Components e do suporte dos frameworks.

Web Components vs Frameworks​

CritérioWeb ComponentsWrappers do GovBR-DS
RenderizaçãoCustom Elements e Shadow DOMOs mesmos elementos, conectados ao framework
DadosAtributos para valores simples e propriedades para objetos/arraysProps e bindings do framework, conforme o wrapper
EventosEventos DOM customizadosCallbacks/eventos adaptados ao framework
FormuláriosIntegração direta com a API do componenteSuporte adicional a formulários do Angular, React ou Vue
SSRUse o pacote hydrate quando a stack suportarReact SSR e os guias de SSR mostram as configurações necessárias
PortabilidadeQualquer stack com suporte à Web PlatformProjetos que já adotam Angular, React ou Vue
DependênciasPacote core e Web ComponentsFramework, wrapper e mesma versão do core

Estrutura e Filosofia​

  • A biblioteca em Stencil utiliza a abordagem de Web Components nativos, proporcionando melhor compatibilidade e reutilização em diferentes frameworks.
  • O transporte de dados assíncronos pertence à aplicação consumidora. Ela controla fetch, autenticação, debounce, cache e cancelamento; o componente recebe o estado e comunica interações por eventos.

Tipo de Dados​

  • Stencil usa decorators do TypeScript, oferecendo tipagem mais rigorosa e suporte a IDEs, o que facilita o desenvolvimento e a manutenção.

Ciclo de Vida​

  • Os métodos do ciclo de vida dos componentes em Stencil diferem dos hooks em Vue. Familiarize-se com os métodos como componentWillLoad, componentDidLoad, e outros.

Recomendações​

  • Avalie cuidadosamente as necessidades do projeto antes de escolher uma ferramenta.
  • Considere a curva de aprendizado e a experiência da equipe de desenvolvimento.
  • Experimente diferentes ferramentas para encontrar a mais adequada ao projeto.

Quickstarts oficiais​

Use os quickstarts como referência de estrutura de projeto, instalação e bootstrap. Consulte a página central de quickstarts para acessar demonstrações, versões validadas e orientação de escolha.

StackProjetoComando local
JavaScriptgovbr-ds-wbc-quickstart-jspnpm dev
Angulargovbr-ds-wbc-quickstart-angularpnpm start
Reactgovbr-ds-wbc-quickstart-reactpnpm dev
Vuegovbr-ds-wbc-quickstart-vuepnpm dev

Guias Relacionados​

Comece aquiComponentesQuickstartsSobre o projetoRepositório GitLabVersõesDiscordGovBR-DSFAQWikiRedefinir cookies