Designing a component library is no easy task. It entails a long list of decisions that can become quite overwhelming. Failing to make the right decision can result in a library that no one actually uses.
This blog will help you on your journey to building your own component library. It will discuss all major crossroads and provide concrete recommendations.
Component libraries form the foundation of the organization's frontend apps. They must be flexible to provide…
Bit is an extensible OSS tool for component-driven development. It is used to develop, source control, and collaborate on individual components.
Components are developed and composed together in Bit workspaces. They are pushed, individually, to ‘remote scopes’ (remote component hosting), where they are made available to be consumed and collaborated on in other Bit workspaces.
In the world of web dev, component-driven development (CDD) has become almost synonymous with component-driven user interface. This limited use of the term is quite unfortunate as it has conceptually distanced us from better software design and development strategies that are by no means exclusive to UIs.
This article discusses CDD in its wider sense and introduces Bit as a revolutionary (OSS) tool that’s made exactly for this development strategy.
Bit works well with bit.dev, a cloud component hosting and CI, and uses it by default. However, you can set it to use your own hosting.
Component-based development is the…
Bit transforms the way we structure our web projects and collaborate on code. It is a way to develop, version, and deliver components independently.
A ‘component’, in the context of Bit, could be any type of module, UI, and non-UI (e.g, React hooks, Node.JS modules, etc.)
Components developed and shared…
Micro frontends and design systems aim to solve different sets of challenges. However, as you’ll soon see, they are both flawed for the same reason. Both are developed and delivered using the same improper tools and methodologies that presuppose a monolithic project. This article will explore independent components as a radically different design pattern that solves many of their common issues.
Independent components are components and modules that are developed and versioned independently and shared across remote ‘scopes’ (more on that later). They are authored and composed together using Bit.
Independent components are all part of a single virtual monorepo…
In this tutorial, we’ll build a modular React + TypeScript “library” with rich documentation, isolated component rendering, tests, and more (the quotation marks will soon be made clearer).
It’s not a short article but once you’re done reading, you’ll not only build libraries differently but drastically change the way you structure any web project and collaborate on code.
Our components will then be individually published to a package registry of…
Component libraries or design systems, enable cross-project code reuse and standardization of technology, design patterns, and “looks and feel”.
A good component library is a library that is highly composable. It provides components that can easily be used to compose a wide range of new compositions.
That, of course, is easier said than done. How should a component library be structured for it to provide the right assembly parts for all the organization's known and unknown use-cases?
“A good compromise is when both parties are dissatisfied”
— Larry David
The traditional top-bottom approach for a component library that prescribes the…
Independent components revolutionize the way we build web projects. They replace or transform much of today’s software development strategies and architectural styles, and offer more effective ways to collaborate on code. Even so, it seems like they have kept themselves behind a veil of mist — misunderstood and unexplained.
This article is an attempt to provide a clear explanation that will enable you to draw your own conclusions, ״from first principles”, as to how independent components can be used to fit your own needs.
Independent components are developed, versioned, and collaborated on in a Bit workspace. Each component starts its way as multiple source files which are then mapped to a single component id, configured, built, and finally tagged (along with the generated artifacts) with a new release version.
To learn more about the process an independent component goes through prior to it being tagged, see here:
The effects of Covid-19, once perceived as no more than a short interruption to our way of living, are now acknowledged as here to stay. This new realization has pushed companies to re-think the way they operate and switch from using methodologies and tools that serve as “colocated work replacements” to those that fully embrace this new reality.
This full-embracement is not manifested in the form of ‘remote work’, with headquarters to be remote from, but rather as a completely distributed workforce where the “center” is absent.