List of Swift software and tools
Jump to navigation
Jump to search
This is a list of software and programming tools for the Swift programming language, which includes frameworks, libraries, IDEs, build tools, and related projects.
Frameworks, libraries, and APIs
[edit | edit source]- Alamofire — HTTP networking library[1]
- Cocoa — Apple’s native API for macOS[2]
- Cocoa Touch — variant of Cocoa for iOS, iPadOS, watchOS, and tvOS.
- Kitura — web framework from IBM (now community maintained)[3]
- Metal (API) – low-overhead hardware-accelerated 3D graphic and compute shader API[4]
- Perfect — server-side Swift web framework
- RxSwift — reactive programming library for Swift[5]
- SceneKit — A 3D graphics framework often used with Swift and SwiftUI for rendering scenes and animations[6]
- SnapKit — Auto Layout DSL for iOS/macOS[7]
- SwiftNIO — event-driven networking framework[8]
- SwiftGraph — a graph data structure and algorithms library[9]
- SwiftProtobuf — Protocol Buffers implementation for Swift[10]
- SwiftUI – declarative framework for building user interfaces and Swift Charts for Apple operating systems[11]
- SwiftyJSON — easier JSON handling in Swift[12]
- Vapor — web application framework for Swift[13]
Machine learning and AI
[edit | edit source]- Swift for TensorFlow — experimental deep learning framework from Google (discontinued, but open source)[14]
- Core ML — Apple’s machine learning framework for on-device inference[15]
- Create ML — Apple’s macOS app and framework for training ML models[16]
Math and scientific computing
[edit | edit source]- Surge — Swift framework for linear algebra, DSP, and math functions[17]
- Accelerate framework — Apple’s high-performance math and DSP library for Swift and Objective-C[18]
Integrated development environments
[edit | edit source]- Xcode — Apple’s official IDE for Swift and Objective-C
- AppCode — IDE for Swift from JetBrains
- Swift Playgrounds — educational environment for iPad and macOS[19]
- Visual Studio Code — with Swift extensions via SourceKit-LSP[20]
Text editors with Swift support
[edit | edit source]- GNU Emacs — Swift mode and LSP support[21]
- Sublime Text — Swift syntax and build system plugins[22]
- TextMate – via official Swift bundle providing syntax highlighting and snippets[23]
- Vim — via Swift Vim plugins[24] and Neovim[21]
- Visual Studio Code — Swift LSP support through SourceKit-LSP[25]
- Zed — fork of Atom with support for Swift[26]
Build tools and package managers
[edit | edit source]- Swift Package Manager (SwiftPM) — official dependency manager for Swift[27]
- CocoaPods — dependency manager for Swift and Objective-C projects[28]
- Carthage — decentralized dependency manager[29][30]
- Bazel — build system with Swift rules support[31]
Compilers and runtimes
[edit | edit source]- LLVM
- Swift for Windows — community distribution of Swift on Windows[32]
- Swift WASM — Swift toolchain for WebAssembly[33]
Debugging and profiling tools
[edit | edit source]- Instruments — performance analysis and profiling tool bundled with Xcode
- LLDB — debugger used by Swift (via LLVM project)[21]
- Xcode memory graph debugger[34]
Testing and quality assurance
[edit | edit source]- XCTest — official unit testing framework bundled with Swift[35]
- Quick — behavior-driven development (BDD) framework[36]
- Nimble — matcher framework often used with Quick[37]
See also
[edit | edit source]Wikibooks has a book on the topic of: Swift Introduction
- Apple Developer Tools
- Chris Lattner – original developer of Swift
- Lists of programming software development tools by language
- MoltenVK – software library which allows Vulkan applications to run on top of Metal
External links
[edit | edit source]- Swift.org — official Swift website
- Apple Swift GitHub repository
- Swift Package Index
- Swift documentation and Apple Developer Documentation
- awesome Swift — curated list of Swift libraries
References
[edit | edit source]- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ a b c Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).