---
schema_version: "1"
id: d436caeb0d485084906580ae44bf3ae8a921974db833166319b3892044a0e8e8
title: Events
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/platform/aura-platform/guides/aura/intro/intro-events.md
canonical_url: https://developer.salesforce.com/docs/platform/aura-platform/guide/intro-events.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: 69b0028e0e7a3798ebbeea06959e2d262450b66501495ab4b64c132ff7874cc7
products:
  - Lightning Aura Components Developer Guide
  - Platform Developer Content
---

# Events

Event-driven programming is used in many languages and frameworks, such as JavaScript and Java Swing. The idea is that you write handlers that respond to interface events as they occur.

A component registers that it may fire an event in its markup. Events are fired from JavaScript controller actions that are typically triggered by a user interacting with the user interface.

There are two types of events in the framework:

-   **Component events** are handled by the component itself or a component that instantiates or contains the component.
-   **Application events** are handled by all components that are listening to the event. These events are essentially a traditional publish-subscribe model.

You write the handlers in JavaScript controller actions.

**See Also**  


-   [Communicating with Events](https://developer.salesforce.com/docs/platform/aura-platform/events/events-intro.md)
-   [Handling Events with Client-Side Controllers](https://developer.salesforce.com/docs/platform/aura-platform/js/js-client-side-controller.md)

