![AlgoKit — Kit de ferramentas Python para Blockchain](https://optimuscloud.com.br/wp-content/uploads/2024/03/1711567188_AlgoKit-—-Kit-de-ferramentas-Python-para-Blockchain-150x150.jpg)
AlgoKit — Kit de ferramentas Python para Blockchain
27 de março de 2024![Guia do arquiteto: uma arquitetura moderna de referência para data lake](https://optimuscloud.com.br/wp-content/uploads/2024/03/1711567206_Guia-do-arquiteto-uma-arquitetura-moderna-de-referencia-para-data-150x150.jpg)
Guia do arquiteto: uma arquitetura moderna de referência para data lake
27 de março de 2024Bibliotecas de UI são uma coleção de componentes, estilos e utilitários de UI empacotados e publicados para serem reutilizados em aplicativos. Eles ajudam a manter a consistência dentro e entre aplicativos, aceleram o desenvolvimento e tornam o código mais fácil de manter.
As bibliotecas de UI apresentam seu próprio conjunto de desafios, que limitam bastante sua eficácia. Esses desafios decorrem de problemas mais fundamentais relacionados ao compartilhamento e reutilização de código. Vamos explorar alguns desses desafios e examinar como uma nova entidade, o componente Bit, os aborda.
O que é um componente de bit?
Um componente Bit pode ser considerado um pacote de próxima geração. Sua configuração de construção, ferramentas e até mesmo controle de versão estão todos encapsulados no próprio componente. Os componentes bit são hospedados em bit.cloud, agrupados por escopos com diferentes controles de acesso. Isso significa que um componente Bit não está vinculado a nenhum repositório git. Você pode importá-lo (cloná-lo) em seu ambiente de desenvolvimento, modificá-lo e enviá-lo de volta para bit.cloud.
Quando os componentes são lançados, eles passam por um processo de construção que gera artefatos. Um artefato importante é o pacote do componente. Um componente pode ser instalado como um pacote Node normal ou, como mencionado anteriormente, importado (clonado) para o seu projeto, onde pode ser atualizado.
Por exemplo, para modificar um componente, primeiro procuraremos por ele em bit.cloud:
Executaremos o seguinte para importá-lo para nosso projeto:
bit import bitdesign.sparks/actions/button
O componente importado agora está disponível como arquivos de origem para modificação e um pacote para consumo. O Bit atualiza automaticamente o pacote a cada alteração.
. └── my-project └── sparks └── button ├── button.tsx └── index.ts └── node_modules └── @bitdesign/sparks.actions.button
Depois que nossas alterações forem feitas, podemos criar uma nova versão do componente e enviá-lo de volta para bit.cloud:
bit tag --message "use lighter color tokens" bit export
Nosso componente de botão agora está disponível em uma nova versão em bit.cloud. Podemos continuar mantendo-o ou podemos removê-lo do nosso projeto mantendo apenas o pacote para consumo.
Tornar seus componentes de UI reutilizáveis e portáteis é difícil
Compartilhar componentes de UI individuais como pacotes exige muito esforço. Desacoplar o componente do projeto, garantir que ele seja genérico ou “suficientemente reutilizável”, configurar seu package.json, documentar, versionar e publicar pode ser um incômodo.
Isso fica mais evidente quando se trata de componentes complexos, como formulários e layouts de página inteira. Esses componentes geralmente permanecem “ocultos” em repositórios e não são compartilhados, forçando outros a construí-los do zero, o que consome tempo, deixa espaço para erros e torna a base de código mais difícil de manter.
Como você verá na próxima seção, a colaboração limitada também é um fator nesse problema. Os consumidores de pacotes não são capazes de modificar e estender componentes para atender a novas necessidades à medida que surgem e, seguindo esse processo iterativo, você pode tornar componentes concretos mais genéricos e reutilizáveis.
Intimamente relacionada a esse problema está a prática comum de criar “megabibliotecas” que contêm um grande número de componentes. Este é outro sintoma do mesmo problema: compartilhar componentes individuais como pacotes não é fácil.
![O fluxo de trabalho tradicional para publicação em bibliotecas](https://optimuscloud.com.br/wp-content/uploads/2024/03/1711567197_241_As-bibliotecas-de-UI-estao-morrendo-o-que-vem-a.png)
O fluxo de trabalho tradicional para publicação em bibliotecas
Bit torna o compartilhamento de componentes individuais simples e fácil
As equipes estão mais inclinadas a compartilhar componentes quando o processo é fácil e, da mesma forma, estão mais propensas a reutilizar componentes quando são fáceis de encontrar. O Bit facilita o compartilhamento de componentes. Os componentes de bits não requerem configuração. Suas dependências são detectadas automaticamente e resolvidas de forma inteligente para as versões e tipos adequados.
O Bit também gera automaticamente a documentação do componente e simplifica a renderização de visualizações dos componentes.
Conforme mencionado anteriormente, a publicação de pacotes é parte integrante do pipeline de construção de um componente. Quando um componente é versionado e lançado, seu pacote é publicado automaticamente no registro do bit.cloud (e possivelmente em um registro de sua escolha), onde pode ser descoberto e instalado por outros.
Componentes embalados individualmente permitem que os consumidores escolham os componentes de que precisam e evitam atualizações sem sentido nas dependências de seus projetos.
Bibliotecas de UI limitam a colaboração
Bibliotecas de componentes são construídas para impor consistência em UI/UX e padrões de desenvolvimento. Isto é uma coisa boa; no entanto, também pode tornar-se um desafio se a biblioteca não for suficientemente flexível para responder às necessidades do projecto. Quando isso acontece, a equipe é forçada a contornar a biblioteca, bifurcá-la e manter sua própria versão, ou sugerir uma solicitação pull (PR) aos mantenedores da biblioteca e aguardar que ela seja mesclada e liberada.
Muitas vezes, isso pode levar a uma adoção deficiente da biblioteca, o que vai contra o propósito de ter uma biblioteca.
Componentes Bit promovem a colaboração entre equipes
Como os componentes Bit são autônomos, eles podem ser desenvolvidos e mantidos em qualquer lugar. Isso significa que as equipes que consomem um componente também podem contribuir com ele sem precisar encontrar várias soluções alternativas ou mudar de um repositório para outro.
Os componentes podem ser modificados e melhorados instantaneamente a partir de qualquer projeto de consumo, enquanto os mantenedores podem revisar e mesclar as alterações em seu próprio ritmo.
As alterações ficam imediatamente disponíveis nesse projeto e podem ser revisadas, testadas e mescladas no próprio ritmo dos mantenedores.
Um futuro além das bibliotecas: projetos totalmente baseados em componentes
Com o Bit, o conceito tradicional de bibliotecas de UI separadas, ou bibliotecas em geral, pode em breve se tornar obsoleto. A composição natural da “biblioteca” para componentes mais complexos pode ser alcançada usando a mesma estrutura e ferramentas sem a necessidade de distinguir entre “código de biblioteca” e “código de aplicação”.
Esta mudança para uma abordagem mais integrada e flexível à reutilização de código e gestão de pacotes anuncia uma nova era no desenvolvimento de software. As fronteiras entre bibliotecas e aplicações se confundem, levando a práticas de desenvolvimento mais eficientes, sustentáveis e colaborativas.
À medida que avançamos, o foco provavelmente mudará do uso e contribuição para bibliotecas de UI independentes para a criação e compartilhamento de componentes Bit em um ecossistema mais dinâmico e interconectado.
Esta evolução promete tornar o desenvolvimento de software mais modular, escalável e inclusivo, abrindo caminho para um futuro onde os desenvolvedores possam facilmente desenvolver o trabalho uns dos outros, levando a inovações mais rápidas e aplicações mais robustas.
As bibliotecas post UI estão morrendo: o que vem a seguir? apareceu primeiro em The New Stack.