--- title: Start building for checkout description: >- Learn how to get started building with checkout UI extensions, Shopify Functions, or web pixel extensions. source_url: html: 'https://shopify.dev/docs/apps/build/checkout/start-building' md: 'https://shopify.dev/docs/apps/build/checkout/start-building.md' --- ExpandOn this page * [Requirements](https://shopify.dev/docs/apps/build/checkout/start-building.md#requirements) * [Get started](https://shopify.dev/docs/apps/build/checkout/start-building.md#get-started) * [Next steps](https://shopify.dev/docs/apps/build/checkout/start-building.md#next-steps) # Start building for checkout To get started with checkout UI extensions, Shopify Functions or web pixel extensions, you can use Shopify CLI, which generates starter code for building your extension and automates common development tasks. The following is a lightweight guide for getting started to build. You can alternatively learn how to use the GraphQL Admin API to [style checkout for a brand](https://shopify.dev/docs/apps/build/checkout/styling), such as changing the colors and corner radius settings on checkout form fields. *** ## Requirements * You're a [user with app development permissions](https://shopify.dev/docs/apps/build/dev-dashboard/user-permissions) and have created [a development store](https://shopify.dev/docs/api/development-stores). Depending on the extension type that you're generating, you might also need to enable the [Checkout and Customer Accounts Extensibility](https://shopify.dev/docs/api/developer-previews#checkout-and-customer-accounts-extensibility-developer-preview) developer preview. - You're using the latest version of [Shopify CLI](https://shopify.dev/docs/api/shopify-cli). - You're using the latest version of [Chrome](https://www.google.com/chrome/) or [Firefox](https://www.mozilla.org/). ### Language-specific requirements for writing Shopify Functions in Rust * You've installed [Rust](https://www.rust-lang.org/tools/install). On Windows, Rust requires the [Microsoft C++ Build Tools](https://docs.microsoft.com/en-us/windows/dev-environment/rust/setup). Make sure to select the **Desktop development with C++** workload when installing the tools. * You've installed the [`wasm32-unknown-unknown`](https://doc.rust-lang.org/rustc/platform-support/wasm32-unknown-unknown.html) build target. ## Terminal ```terminal rustup target add wasm32-unknown-unknown ``` *** ## Get started 1. Scaffold an app: ## Terminal ```terminal shopify app init ``` 2. Navigate to your app directory: ## Terminal ```terminal cd ``` 3. Run the following command to create a new extension: ## Terminal ```terminal shopify app generate extension --name my-extension ``` 4. Choose from one of the following extension types: * **Checkout UI** * **Function** (any of the sub-types) * **Post-purchase UI** * **Web Pixel** 5. Select a language for your extension. For this quickstart, if you chose a `Function` extension type, then select either **Rust** or **JavaScript**. 6. Complete one of the following steps: * If you chose a `Checkout UI`, `Post-purchase UI` or `Web Pixel` extension type, then start your development server to build and preview your app: ## Terminal ```terminal shopify app dev ``` Press `p` to open the developer console. In the developer console page, click on the preview link for your extension. * If you chose a `Function` extension type, then navigate to `extensions/my-extension` and build the function's Wasm module: ## Terminal ```terminal cd extensions/my-extension cargo build --target=wasm32-unknown-unknown --release ``` To test your function, you need to make it available to your development store. [Learn more](https://shopify.dev/docs/apps/build/functions/test-debug-functions#testing-on-your-development-store). *** ## Next steps * Learn how to use checkout UI and post-purchase extensions by following [one of our use case tutorials](https://shopify.dev/docs/api/checkout-extensions#getting-started). *** * [Requirements](https://shopify.dev/docs/apps/build/checkout/start-building.md#requirements) * [Get started](https://shopify.dev/docs/apps/build/checkout/start-building.md#get-started) * [Next steps](https://shopify.dev/docs/apps/build/checkout/start-building.md#next-steps)