# Development concepts

Source: https://docs.streamlit.io/develop/concepts

This section gives you background on how different parts of Streamlit work.

**[Streamlit's architecture and execution model](https://docs.streamlit.io/develop/concepts/architecture)**: Streamlit's execution model makes it easy to turn your scripts into beautiful, interactive web apps.

- Understand how to run your app.
- Understand Streamlit's execution and client-server model.
- Understand the primary tools to work with Streamlit reruns.

**[Build with AI agents](https://docs.streamlit.io/develop/concepts/ai-agents)**: Streamlit is the agent-native data app framework. Coding agents build your apps, and other agents use them as tools.

- Set up your coding agent with Streamlit's bundled agent skills.
- Let AI agents use your app over MCP, with the same logic as the browser and no more access.

**[Multipage apps](https://docs.streamlit.io/develop/concepts/multipage-apps)**: Streamlit provides an automated way to build multipage apps through directory structure.

- Learn how to structure and configure your multipage app.

**[App design considerations](https://docs.streamlit.io/develop/concepts/design)**: Bring together Streamlit's architecture and execution model to design your app. Work with Streamlit commands to render dynamic and interactic content for your users.

- Learn how to make your apps performant and easy-to-manage.
- Learn how to structure and design your project.
- Learn how to build advanced dashboards and apps that write data back.

**[Connections and secrets](https://docs.streamlit.io/develop/concepts/connections)**

- Learn how to manage connections and secrets with Streamlit's convenient, built-in features.

**[Creating custom components](https://docs.streamlit.io/develop/concepts/custom-components)**: Custom components extend Streamlit's functionality.

- Learn how to build your own custom component.
- Learn how install a third-party component.

**[Configuration and theming](https://docs.streamlit.io/develop/concepts/configuration)**: Streamlit provides a variety options to customize and configure your app.

- Learn how to work with configuration options, including server settings, client settings, and theming.

**[App testing](https://docs.streamlit.io/develop/concepts/app-testing)**: Streamlit app testing enables developers to build and run automated tests. Bring your favorite test automation software and enjoy simple syntax to simulate user input and inspect rendered output.
