Skip to main content

Application frontend overview


Dapps deployed on ICP often utilize a frontend interface to facilitate user interaction with the application. Application frontends include the user interface, webpage, dashboard, or other assets that are displayed in the web browser.

Frontend canisters are also referred to as 'asset canisters', since they are defined as "type": "asset" in the dfx.json file for a project.

Frontends can exist in the following forms:

  • A frontend canister that communicates with backend canister(s) to provide a full-stack dapp. You can learn more by viewing the default frontend canister and learn how to customize it.

  • Backend canisters communicate with an external frontend application that isn't hosted on ICP. To facilitate this communication, agent-js can be used. You can learn more about the JS request API.

  • A frontend canister that doesn't communicate with any backend canisters and only provides web assets such as a website. Learn more about serving static assets.