One of the biggest challenges when building a composable tech stack is connecting all the systems in the stack. Even if all the systems in your tech stack called "composable," someone still has to connect those systems. Integration is never easy when you have to do it yourself. Maintaining an integration can be even harder.
Uniform provides and maintains connectors to leading commerce and marketing systems. But more important than the connectors themselves is the underlying integration framework. Once you connect a system to Uniform, the system is automatically connected to all the other systems in your stack. No more point-to-point connections.
Team members will be able to update compositions to use different data sources easily and without code. Keep these design principles in mind when you architect the setup:
- Design generic components and don't include their data source in their name (for example, "review" and not "Google review").
- Refrain from tying large amounts of data to parameter types on components (like "Contentful Entry" or "BigCommerce Product"), as these tightly couple component properties to the data source. This makes it more difficult to
- change data sources (reduces composability)
- understand how data is used in the component
- Design data-specific variations of generic components using patterns to share data resource configurations. For example, turn a "Card" into an "Author Card" with data from Contentful. This pattern can then be shared across compositions, reusing the data configuration.
When you model components for your integrations you’re modeling your design system (or your bespoke component’s props, such as for react component props). Learn more about organizing and modeling your content.
The purpose of this approach#
This architecture keeps system connections independent and as such fosters faster exploration and lessens the need for major architectural decisions to happen early in projects. Business users can connect systems without needing a developer. Authors can change data sources using existing components without the need to change front-end code.
Uniform only caches the information relevant to the front-end experience, ignoring unnecessary API response data. This dramatically reduces JSON payload size and, in turn, increases site performance.
Create a custom Mesh application to provide new data connectors, a named set of UI components to fetch a new type of data. All Uniform-provided data connectors, such as HTTP Request and JSON Data, are built on this same extensibility framework.