# Write control code with Viam SDKs

## Backend SDKs

The backend SDKs allow you to build business logic to control [components](https://docs.viam.com/reference/apis/#component-apis) and [services](https://docs.viam.com/reference/apis/#service-apis), as well as manage your [fleet](https://docs.viam.com/reference/apis/fleet/) and [data](https://docs.viam.com/reference/apis/data-client/), and [billing information](https://docs.viam.com/reference/apis/billing-client/), or [provision](https://docs.viam.com/fleet/provision-devices/) machines.
With the backend SDKs you can also create custom modular resources.

- \\
\\
Python](https://docs.viam.com/reference/sdks/python/ "Python")
- \\
\\
Go](https://docs.viam.com/reference/sdks/go/ "Go")
- \\
\\
C++](https://docs.viam.com/reference/sdks/cpp/ "C++")

## Frontend SDKs

The frontend TypeScript SDK allows you to control your machine’s [components](https://docs.viam.com/reference/apis/#component-apis), as well as manage your [data](https://docs.viam.com/reference/apis/data-client/) or [provision](https://docs.viam.com/fleet/provision-devices/) machines.

- \\
\\
TypeScript](https://docs.viam.com/reference/sdks/typescript/ "TypeScript")

## Mobile SDK

The mobile SDK allows you to build iOS and Android apps to control your machine’s [components](https://docs.viam.com/reference/apis/#component-apis), as well as manage your [fleet](https://docs.viam.com/reference/apis/fleet/) and [data](https://docs.viam.com/reference/apis/data-client/), or [provision](https://docs.viam.com/fleet/provision-devices/) machines.

- \\
\\
Flutter](https://docs.viam.com/reference/sdks/flutter/ "Flutter")
