---
schema_version: "1"
id: 716751dbc128b23c17b1bd9b210b049b9e9f6d51a4295326540268eeb3121698
title: Add Components to Apps
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/platform/aura-platform/guides/aura/apps/apps-add-components.md
canonical_url: https://developer.salesforce.com/docs/platform/aura-platform/guide/apps-add-components.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: 946b674e7e3a7f0d09876b684beb9a7a0ede5724a03c5fb1369ed08119e91177
products:
  - Lightning Aura Components Developer Guide
  - Platform Developer Content
---

# Add Components to Apps

When you’re ready to add components to your app, first look at the built-in base components that Salesforce provides with the framework. You can also use these components by extending them or using composition to add them to custom components that you’re building.

**note:** For all the base components, see the [Lightning Component Library](https://developer.salesforce.com/docs/platform/aura-platform/components/component-library.md). The `lightning` namespace includes many base components that implement visual elements common on web pages.

If you can’t find a base component that meets your requirements, consider these options.

-   Use [ design variations](https://developer.salesforce.com/docs/platform/aura-platform/slds/lightning-base-variants.md) on base components.
-   Apply [utility classes](https://www.lightningdesignsystem.com/utilities/alignment/) or custom CSS classes.
-   Combine smaller base components into a more complex, custom component.
-   Create your custom component from [Lightning Design System blueprints](https://www.lightningdesignsystem.com/components/overview/).

Components are encapsulated and their internals stay private, while their public shape is visible to consumers of the component. This strong separation gives component authors freedom to change the internal implementation details and insulates component consumers from those changes.

The public shape of a component is defined by the attributes that can be set and the events that interact with the component. The shape is essentially the API for developers to interact with the component. To design a new component, think about the attributes that you want to expose and the events that the component can initiate or respond to.

After you’ve defined the shape of any new components, developers can work on the components in parallel. This approach is useful if you have a team working on an app.

To add a custom component to your app, see [Using the Developer Console](https://developer.salesforce.com/docs/platform/aura-platform/intro/intro-devconsole.md).

**See Also**  


-   [Component Composition](https://developer.salesforce.com/docs/platform/aura-platform/components/components-composition.md)
-   [Using Object-Oriented Development](https://developer.salesforce.com/docs/platform/aura-platform/oo/oo-intro.md)
-   [Component Attributes](https://developer.salesforce.com/docs/platform/aura-platform/components/components-attributes.md)
-   [Communicating with Events](https://developer.salesforce.com/docs/platform/aura-platform/events/events-intro.md)

