---
title: Tools and distribution
framework: Technology Overviews
role: collectionGroup
path: technologyoverviews/tools-and-distribution
---

# Tools and distribution

Create software on Apple platforms using Xcode and the Swift programming language, and distribute your apps on the App Store.

## Overview

Software development for Apple platforms starts with Xcode, Apple’s integrated development environment (IDE). Xcode provides the suite of tools you use to create apps. It also supports the Swift programming language, Apple’s preferred language for writing code. After you write, test, and polish your code, distribute it on the App Store or your own website. Start the development process with the Xcode app, which you use to manage your project’s code and resources. Write your code using Swift, and build and run the results on a real or simulated device. Use the integrated debugger to find and fix issues in your code and verify its behavior. Automate the testing of your code using the frameworks and tools that come with Xcode. You can incorporate unit tests into your project to validate your code at compile time, and perform more extensive server-based testing and build management using Xcode Cloud. Improve your app’s efficiency, speed, and energy usage with Instruments. When you’re ready to package your software for distribution and deliver it to your customers, ship it on the App Store to take advantage of the Apple distribution network around the world. You can also support other marketplaces, or deliver software directly to customers yourself.

## Topics

### Tools and testing

- [Development process](technologyoverviews/development-process.md)
- [Testing and performance](technologyoverviews/testing-and-performance.md)
- [Distribution](technologyoverviews/distribution.md)
