What Swift Does
- Native compilation — LLVM-based, native ARM/x86/WASM
- Optionals — no nil pointer crashes
- Value types — structs, enums with associated values
- Protocols — structural polymorphism, protocol extensions
- Generics — parameterized types and functions
- Closures — first-class, trailing syntax
- Concurrency — async/await + actors (Swift 5.5+)
- SwiftUI — declarative UI framework
- Swift Package Manager — built-in dep/build tool
- Interop — Objective-C, C, and C++ interop
- Cross-platform — macOS, iOS, watchOS, tvOS, Linux, Windows
Architecture
Swift compiler built on LLVM. Uses Automatic Reference Counting (ARC) for memory management — no GC pauses. Modules and package format replace Objective-C frameworks. SwiftUI uses result builders and property wrappers for declarative UI.
Self-Hosting
Language toolchain.
Key Features
- Protocol-oriented programming
- Value types and copy-on-write
- Async/await and actors
- Swift Concurrency (structured concurrency)
- Result builders for DSLs
- Property wrappers
- Swift Package Manager
- Server-side frameworks (Vapor, Hummingbird)
- Interop with Objective-C and C++
- Linux and Windows support
Comparison
| Language | Memory | Concurrency | Interop |
|---|---|---|---|
| Swift | ARC | async + actors | ObjC, C, C++ |
| Rust | Ownership | async | C, C++ |
| Kotlin | GC (JVM) | Coroutines | Java |
| C# | GC | async/await | .NET |
| Go | GC | Goroutines | C (cgo) |
常见问题 FAQ
Q: 只能 Apple 平台? A: 不。Swift 是跨平台开源语言,官方支持 macOS、iOS、Linux、Windows。Vapor、Hummingbird 等 server framework 用于后端。
Q: 和 Objective-C 关系? A: Swift 完全兼容 ObjC(互调、共享项目)。Apple 新 API 优先 Swift。老项目可以渐进迁移。
Q: Swift Concurrency 能取代 GCD 吗? A: 大部分场景可以。async/await + actor 解决数据竞争。GCD 仍然是底层工具,但高层代码推荐 Swift Concurrency。
来源与致谢 Sources
- Docs: https://www.swift.org/documentation
- GitHub: https://github.com/swiftlang/swift
- License: Apache 2.0