# Composition in Canvas

> This section describes how to use Uniform's composition capabilities that are provided in Canvas.

Source: https://docs.uniform.app/docs/guides/composition

When building a composable tech stack with headless systems, you're faced with a challenge: where do you define the presentation
logic? Front-end developers, mobile application developers, and
other developers are the people with the skills to implement
presentation logic.

It's easy enough for the developer to handle all the presentation logic early in the project. But
as time goes on, this becomes a bottleneck when everything gets
filtered through a developer:

- Marketers want to make a change to promote a new campaign.
- Merchandisers want to change up the featured products on the home page.

But going in the complete opposite direction and giving marketers
and merchandisers a tool that gives them control over presentation
logic has its own challenges:

- It's hard to maintain user-experience consistency.
- Application performance can suffer.
- The ability to preserve site design can be compromised.

Uniform offers an approach that maintains flexibility and independence for all teams.
Developers retain full control over the front-end. They can use
the technology they want. The front-end components they create
are available within Uniform Canvas, where digital teams can use those
components to build experiences within the constraints
the developer creates.

## Manage experiences in Uniform

Below are some foundational elements for managing the **experience layer** in Uniform.

| Guide | Description |
| --- | --- |
| [Components](https://docs.uniform.app/docs/guides/models/components) | Create and manage components, the building blocks of Uniform. |
| [Compositions](https://docs.uniform.app/docs/guides/composition/compositions) | Create and manage compositions, which define the experience created for your end users. |
| [Visual editing in Canvas](https://docs.uniform.app/docs/guides/composition/visual-editing) | Learn about the Canvas visual editor. |
| [Patterns](https://docs.uniform.app/docs/guides/patterns) | Create and manage patterns. |
| [Data modeling](https://docs.uniform.app/docs/guides/composition/connect-external-data/data-modeling) | Configure connections with your composable stack with Uniform Mesh. |
