What is APP?
APP bundles are macOS application packages - directories that appear as single files in Finder but contain all components needed to run an application. Structure includes: executable binary (Mach-O format), Info.plist metadata file, icon resources, localized strings, frameworks, and support files. Users can right-click and "Show Package Contents" to explore the bundle. APP bundles enable drag-and-drop installation - just copy to Applications folder.
APP is the universal format for all macOS software - from Safari and Mail (built-in) to third-party apps like Chrome, Slack, and Photoshop. Downloaded from Mac App Store or developer websites as .dmg disk images containing .app bundles. Code signing and notarization ensure security. Universal apps contain binaries for both Intel and Apple Silicon. APP bundles can include embedded frameworks, plugins, and helper tools, making them self-contained and portable.
History
Apple introduced the application bundle concept with the original Macintosh, refining it through NeXTSTEP and finally establishing the modern .app format with Mac OS X.
Key Milestones
- 1984: Original Mac application bundles
- 1989: NeXTSTEP .app bundles
- 2001: Mac OS X .app standardization
- 2011: Mac App Store launch
- 2020: Universal apps (Intel + ARM)
- Present: Apple Silicon transition
Key Features
Core Capabilities
- Self-Contained: All resources bundled
- Drag-to-Install: No installer needed
- Universal Binaries: Intel + Apple Silicon
- Code Signing: Security verification
- Localization: Multi-language support
- Sandboxing: Security isolation
Common Use Cases
Desktop Apps
All macOS applications
Developer Tools
Xcode, VS Code, etc.
Games
macOS gaming
Creative Apps
Adobe, Final Cut Pro
Advantages
- Simple drag-and-drop installation
- Self-contained (all resources included)
- No registry or system pollution
- Easy to uninstall (delete .app)
- Universal binary support
- Strong security with code signing
- Clean, organized structure
Disadvantages
- macOS-only (not cross-platform)
- Can be large (duplicated frameworks)
- Code signing requirements strict
- Notarization needed for distribution
- Complex bundle structure for developers
- Universal binaries increase size
Technical Information
Format Specifications
| Specification | Details |
|---|---|
| File Extension | .app |
| Type | Directory bundle (appears as file) |
| Executable | Mach-O binary format |
| Structure | Contents/ directory with MacOS/, Resources/ |
| Metadata | Info.plist (XML property list) |
| Architecture | x86_64, arm64, or Universal |
Common Tools
- Development: Xcode, Swift Package Manager
- Distribution: Mac App Store, notarization tools
- Inspection: otool, codesign, lipo (check architecture)
- Creation: Xcode build system, Automator