---
title: Apple silicon
framework: Apple silicon
role: collection
path: apple-silicon
---

# Apple silicon

Get the resources you need to create software for Macs with Apple silicon.

## Overview

Overview Build apps, libraries, frameworks, plug-ins, and other executable code that run natively on Apple silicon. When you build executables on top of Apple frameworks and technologies, the only significant step you might need to take is to recompile your code for the arm64 architecture. If you rely on hardware-specific details or make assumptions about low-level features, modify your code as needed to support Apple silicon.

Getting the best performance on Apple silicon sometimes requires making adjustments to the way you use hardware resources. Minimize your dependence on the hardware by using higher-level technologies whenever possible. For example, use Grand Central Dispatch instead of creating and managing threads yourself. Test your changes on Apple silicon to verify that your code behaves optimally.

## Topics

### Essentials

- [Porting your macOS apps to Apple silicon](apple-silicon/porting-your-macos-apps-to-apple-silicon.md)
- [Building a universal macOS binary](apple-silicon/building-a-universal-macos-binary.md)

### General porting tips

- [Addressing architectural differences in your macOS code](apple-silicon/addressing-architectural-differences-in-your-macos-code.md)
- [Porting your audio code to Apple silicon](apple-silicon/porting-your-audio-code-to-apple-silicon.md)
- [Porting just-in-time compilers to Apple silicon](apple-silicon/porting-just-in-time-compilers-to-apple-silicon.md)

### Graphics

- [Porting your Metal code to Apple silicon](apple-silicon/porting-your-metal-code-to-apple-silicon.md)

### Performance

- [Tuning your code’s performance for Apple silicon](apple-silicon/tuning-your-code-s-performance-for-apple-silicon.md)
- [Apple Silicon CPU Optimization Guide](apple-silicon/cpu-optimization-guide.md)

### Rosetta

- [About the Rosetta translation environment](apple-silicon/about-the-rosetta-translation-environment.md)

### iOS apps on Mac

- [Running your iOS apps in macOS](apple-silicon/running-your-ios-apps-in-macos.md)
- [Adapting iOS code to run in the macOS environment](apple-silicon/adapting-ios-code-to-run-in-the-macos-environment.md)
- [Providing touch gesture equivalents using Touch Alternatives](apple-silicon/providing-touch-gesture-equivalents-using-touch-alternatives.md)
- [Providing an edge-to-edge, full-screen experience in your iPad app running on a Mac](apple-silicon/providing-an-edge-to-edge-full-screen-experience-in-your-ipad-app-running-on-a-mac.md)

### Kernel and drivers

- [Implementing drivers, system extensions, and kexts](kernel/implementing_drivers_system_extensions_and_kexts.md)
- [Installing a custom kernel extension](apple-silicon/installing-a-custom-kernel-extension.md)
- [Debugging a custom kernel extension](apple-silicon/debugging-a-custom-kernel-extension.md)

### Security

- [Improving control flow integrity with pointer authentication](apple-silicon/improving-control-flow-integrity-with-pointer-authentication.md)
