awesome-swift
A collaborative list of awesome Swift libraries and resources. Feel free to contribute!
https://github.com/matteocrippa/awesome-swift
Last synced: 10 days ago
JSON representation
Benchmark
Vim
- xcprofiler - Command line utility to profile compilation time.
Boilerplates
Third party Guides
- iOS project template - iOS project template with fastlane lanes, Travis CI jobs and GitHub integrations of Codecov, HoundCI for SwiftLint and Danger.
- Model-View-Presenter template - A flexible and easy template created to speed up the development of your iOS application based on the MVP pattern.
- Swift Module Template - An opinionated starting point for awesome, reusable modules.
Converters
Vim
Dependency Managers
Vim
- Accio - A SwiftPM based dependency manager for iOS & Co. with improvements over Carthage.
- Carthage - A new dependency manager.
- CocoaPods - The most used dependency manager.
- Mint - A package manager that installs and runs Swift command line tools.
- swift-package-manager - SPM is the Package Manager for the Swift Programming Language.
- Swiftly - Swift CLI toolchain installer to install different versions of Swift.
Editor Support
Emacs
- swift-mode - Emacs support, including partial flycheck error support.
Google Colaboratory
- swift-colab - Run Swift in a browser.
Vim
- swift-vim - Vim runtime files.
- vim-polyglot - Language pack for vim that includes vim-swift.
Guides
Newsletter
- Open Source Updates for Swift Projects - A bi-weekly newsletter to give you the latest updates on popular and unknown open source projects written or related to Swift.
Official Guides
- API Design Guidelines - Official Swift API design guidelines.
- Apple eBook - Official Apple eBook for Swift beginners.
- Getting Started - Find information about the how to use the Swift programming language.
- Introducing SwiftUI - Official SwiftUI tutorial with 4+ hours of content and interactive tutorials.
Style Guides
- LinkedIn - LinkedIn's Official Style Guide.
- Raywenderlich - Raywenderlich guide, a must read.
- Airbnb - Airbnb's Official Style Guide.
- Google - This style guide is based on Apple’s excellent Swift standard library style and also incorporates feedback from usage across multiple Swift projects within Google.
Third party Guides
- Awesome Swift Education - An organized list of essential Swift Language Topics.
- Conferences.digital - Watch conference videos in a native macOS app.
- Developing iOS Apps with Swift - Stanford course by Paul Hegarty.
- Ray Wenderlich Tutorials, Videos, Podcasts and books - High quality programming tutorials.
- Swift Education - A community of educators sharing materials for teaching Swift and app development.
- SwiftDoc - Auto-generated documentation.
- Swift & SwiftUI Tutorials - SwiftUI learning with Ease.
- 30 Days of Swift - A cool 30 days tutorial.
- About Swift - A playground about the Swift language.
- swift-tips - A series of useful tips by Vincent Pradeilles.
- SwiftGuide CN - A Chinese written guide.
- SwiftTips - A collection of useful tips by John Sundell.
- Swift & SwiftUI Tutorials - SwiftUI learning with Ease.
- Hacking With Swift - Complete training course that teaches app development through 30 hands-on projects, for free.
- Ray Wenderlich Tutorials, Videos, Podcasts and books - High quality programming tutorials.
- Swift & SwiftUI Tutorials - SwiftUI learning with Ease.
- Swift & SwiftUI Tutorials - SwiftUI learning with Ease.
Libs
Accessibility
- Capable - Keep track of accessibility settings, leverage high contrast colors, and use scalable fonts to enable users with disabilities to use your app.
AI
- CoreML-Models - A collection of unique Core ML Models.
- DL4S - Automatic differentiation, fast tensor operations and dynamic neural networks from CNNs and RNNs to transformers.
- OpenAI - Swift package for OpenAI public API.
- Espresso - Compile transformers directly for Apple's Neural Engine.
- Fazm - A voice-controlled AI agent for macOS using accessibility APIs and ScreenCaptureKit.
- EdgeRunner - Fast, local LLM inference for Apple Silicon. Built in Swift and Metal from the ground up.
- Open Agent SDK - Open-source Agent SDK with full agent loop, 34 built-in tools, sub-agent orchestration, MCP integration, and multi-provider LLM support.
- swift-coding-agent - A terminal coding agent with subagents and context compaction.
Algorithm
- Algorithm - A toolset for writing algorithms and probability models.
- BTree - Fast sorted collections for Swift using in-memory B-trees.
- swift-algorithm-club - Algorithms and data structures, with explanations.
- SwiftLCS - implementation of the longest common subsequence (LCS) algorithm.
Analytics
- Aptabase - Open Source, Privacy-First and Simple Analytics for Swift Apps.
- Tracker Aggregator - Versatile analytics abstraction layer.
- Umbrella - Analytics abstraction layer.
- Scout - Production-grade logging SDK for iOS apps using CloudKit as a backend.
Animation
- Advance - A powerful animation framework for iOS, tvOS, and OS X.
- Ease - Animate everything with Ease.
- EasyAnimation - A library to take the power of UIView.animateWithDuration(_:, animations:...) to a whole new level.
- FlightAnimator - Natural Blocks Based Core Animation Framework.
- Gemini - Gemini is rich scroll based animation framework.
- IBAnimatable - Design and prototype UI, interaction, navigation, transition and animation for App Store ready Apps in Interface Builder with IBAnimatable.
- Interpolate - Interpolation framework for creating interactive gesture-driven animations.
- lottie-ios - An iOS library to natively render After Effects vector animations.
- Pastel - Gradient animation effect like Instagram.
- Poi - Poi makes you use card UI like tinder UI .You can use it like tableview method.
- Presentation - A library to help you to make tutorials, release notes and animated pages.
- Sica - Simple Interface Core Animation. Run type-safe animation sequencially or parallelly.
- Spring - A library to simplify iOS animations.
- spruce-ios - Choreograph animations on the screen.
- Stellar - A Physical animation library.
- TheAnimation - Type-safe CAAnimation wrapper. It makes preventing to set wrong type values.
- ViewAnimator - Brings your UI to life with just one line.
- YapAnimator - Your fast and friendly physics-based animation system.
- Pulsator - Pulse animation for iOS.
- AnimatedGradient - Animated linear gradient library written with SwiftUI
- ChainPageCollectionView - Fancy two-level collection view layout and animation.
- CocoaSprings - Interactive spring animations for iOS/macOS.
- Comets - Animating Particles.
- Elephant - Elegant SVG animation kit.
- SpriteKitEasingSwift - Better Easing for SpriteKit.
API
- PXGoogleDirections - Google Directions API helper.
- RandomUserSwift - Framework to Generate Random Users - An Unofficial SDK for randomuser.me.
- Swifter Twitter - Twitter framework.
- SwiftlySalesforce - Framework for rapid development of native iOS apps that integrate with Salesforce.
- GitHubAPI - Implementation of GitHub REST API v3.
- GitHubRestAPISwiftOpenAPI - Scheduled generated GitHub's REST API as Swift code from OpenAPI specification.
- reddift - reddit API wrapper.
- Swiftkube - Swift client for Kubernetes.
- SwiftyInsta - Private and Tokenless Instagram RESTful API.
- YouTubeKit - Interact with the YouTube API without an API key.
- SwiftDisc - Discord API library for bots and integrations.
App Routing
- Appz - Launch external apps and deeplink with ease.
- Crossroad - 🚍 Crossroad is an URL router focused on handling Custom URL Schemes.
- LightRoute - Routing between VIPER modules.
- Linker - Lightweight way to handle internal and external deeplinks for iOS.
- RxFlow - RxFlow is a navigation framework for iOS applications based on a Reactive Flow Coordinator pattern.
- SwiftCurrent - Manage complex workflows wherever Swift can be built. It comes with built-in support for UIKit, Storyboards, and SwiftUI.
- SwiftRouter - A URL Router for iOS.
- URLNavigator - Elegant URL Routing.
- MonarchRouter - Declarative state- and URL-based router. Complex automatic View Controllers hierarchy transitions. Time-tested server-side conventions.
- SwiftUIRoutes - A minimal and flexible router for SwiftUI apps.
App Store
- Apphud - Lightweight library to easily handle auto-renewable subscriptions with no backend required.
- merchantkit - A modern In-App Purchases management framework for iOS.
- SwiftyStoreKit - Lightweight In App Purchases framework.
- AppReview - A tiny library to request review on the AppStore via SKStoreReviewController.
- InAppPurchase - A Simple, Lightweight and Safe framework for In App Purchase.
- Flare - A framework that simplifies working with in-app purchases on iOS, macOS, tvOS, and watchOS, with full support for both StoreKit 1 and StoreKit 2.
Audio
- AudioKit - Powerful audio synthesis, processing and analysis, without the steep learning curve.
- AudioPlayer - A wrapper around AVPlayer with some cool features.
- Beethoven - An audio processing library for pitch detection of musical signals.
- FDSoundActivatedRecorder - Start recording when the user speaks.
- FDWaveformView - An easy way to display an audio waveform in your app.
- ModernAVPlayer - Persistence AVPlayer to resume playback after bad network connection even in background mode.
- SwiftySound - Simple library that lets you play sounds with a single line of code.
- voice-overlay-ios - An overlay that gets your user’s voice permission and input as text in a customizable UI.
- AudioPlayerSwift - AudioPlayer is a simple class for playing audio (basic and advanced usage) in iOS, OS X and tvOS apps.
- SwiftAudioPlayer - Simple audio player for iOS that streams and performs realtime audio manipulations with AVAudioEngine.
- MusicKit - A framework for composing and transforming music.
- FluidAudio - SDK for real-time speaker diarization and identification on iOS/macOS, with CoreML models converted directly from PyTorch to leverage Apple Neural Engine for better performance on older devices.
- Soundable - Soundable allows you to play sounds, single and in sequence, in a very easy way.
Augmented Reality
- ARHeadsetKit - High-level framework for using $5 Google Cardboard to replicate Microsoft Hololens.
- ARVideoKit - Capture & record ARKit videos, photos, Live Photos, and GIFs.
- ARKit-Navigation - Navigation in augmented reality with MapKit.
- ARKit-CoreLocation - Combines the high accuracy of AR with the scale of GPS data.
Authentication
- Cely - A Plug-n-Play login framework.
- LinkedInSignIn - Simple view controller to log in and retrieve an access token from LinkedIn.
- LoginKit - LoginKit is a quick and easy way to add a Login/Signup UX to your iOS app.
- ReCaptcha - [In]visible ReCaptcha for iOS.
- SpotifyLogin - Authenticate with the Spotify API.
Bots
- Telegram Bot SDK - Unofficial SDK.
- Telegrammer - Open-source framework for Telegram Bots developers. It was built on top of Apple/SwiftNIO which help to demonstrate excellent performance.
Cache
- AwesomeCache - Manage cache easy.
- Cache - Nothing but Cache.
- Cachyr - A small key-value data cache for iOS, macOS and tvOS.
- Carlos - A simple but flexible cache.
- EVURLCache - If you want to make your app still works when it's offline.
- MemoryCache - Type-safe memory cache.
- CachyKit - A Caching Library that can cache JSON, Image, Zip or AnyObject with expiry date/TTYL and force refresh.
- Monstra - Memory cache framework with TTL, priority-based eviction, and avalanche protection.
Chart
- ScrollableGraphView - Adaptive scrollable graph view for iOS to visualise simple discrete datasets.
- SwiftChart - A simple line and area charting library for iOS. Supports multiple series, partially filled series and touch events.
- TKRadarChart - A customizable radar chart.
- Charts - Beautiful charts for iOS/tvOS/OSX (port of MPAndroidChart).
- ChartView - Swift package for displaying beautiful charts effortlessly
- FLCharts - Easy to use and highly customizable charts library for iOS.
- SwiftUICharts - A charts / plotting library for SwiftUI. Works on macOS, iOS, watchOS, and tvOS and has accessibility and Localization features built in.
- SwiftCharts - Highly customizable charts for iOS.
Chat
- Chatto - A lightweight framework to build chat applications.
- InputBarAccessoryView - A simple and easily customizable InputAccessoryView for making powerful input bars with autocomplete and attachments.
- MessageKit - A community-driven replacement for JSQMessagesViewController.
- ExyteChat - SwiftUI Chat UI framework with fully customizable message cells, input view, and a built-in media picker
- MessengerKit - A UI framework for building messenger interfaces.
- Real-time Chat with Firebase - Functional real-time chat app with Firebase Firestore using MessageKit.
- Real-time Chat with Firebase - Functional real-time chat app with Firebase Firestore using MessageKit.
- swiftui-messaging-ui - Primitive SwiftUI chat UI component with stable prepending for loading older messages without scroll jumps.
Colors
- ChromaColorPicker - An intuitive and fun iOS color picker.
- DynamicColor - An extension to manipulate colors easily.
- Hue - Hue is the all-in-one coloring utility that you'll ever need.
- PrettyColors - Styles and colors text in the Terminal with ANSI escape codes. Conforms to ECMA Standard 48.
- SheetyColors - An action sheet styled color picker for iOS.
- SwiftHEXColors - HEX color handling as an extension for UIColor.
- UIColor-Hex-Swift - Hex to UIColor converter.
- ColorKit - Advanced color manipulation for iOS.
- Gradients - A curated collection of splendid 180+ gradients.
- UIGradient - A simple and powerful library for using gradient layer, image, color.
Command Line
- Commander - Compose beautiful command line interfaces.
- Guaka - The smart and beautiful (POSIX compliant) command line framework.
- nef - A set of command line tools that lets you have compile time verification of your documentation written as Xcode Playground.
- Swiftline - A set of tools to help you create command line applications.
- SwiftShell - A library for creating command-line applications and running shell commands.
- SwiftyTextTable - A lightweight library to generate text tables.
- Ashen - A framework for writing terminal applications in Swift. Based on The Elm Architecture.
- LineNoise - A zero-dependency replacement for readline.
- Progress.swift - Add beautiful progress bars to your command line.
- Swift Argument Parser - Straightforward, type-safe argument parsing for Swift.
- SwiftCLI - A powerful framework that can be used to develop a CLI.
- Mocker - Docker-compatible container CLI for macOS, built on Apple's Containerization framework.
Concurrency
- AsyncNinja - A complete set of concurrency and reactive programming primitives.
- Futures - Lightweight promises for iOS, macOS, tvOS, watchOS, and server-side.
- GroupWork - Easy concurrent, asynchronous tasks.
- Hydra - Promises & Await - Write better async code.
- Queuer - A queue manager, built on top of OperationQueue and Dispatch (aka GCD).
- SwiftCoroutine - Coroutines for iOS, macOS and Linux.
- Venice - Communicating sequential processes (CSP), Linux ready.
- async+ - A chainable interface for Swift 5.5's async/await.
- Throttler - Throttle massive number of asynchronous inputs in a single drop of one line API.
- AsyncQueue - A library of queues that enable sending ordered tasks from synchronous to asynchronous contexts.
Data Management
- CoreStore - simple and elegant way to handle Core Data.
- DataKernel - DataKernel is a minimalistic wrapper around Core Data stack to ease persistence operations. No external dependencies.
- Graph - An elegant data-driven framework for Core Data.
- JSQCoreDataKit - A swifter Core Data stack.
- JustPersist - Easiest and safest way to do persistence on iOS with Core Data support out of the box.
- Skopelos - A minimalistic, thread safe, non-boilerplate and super easy to use version of Active Record on Core Data.
- SugarRecord - Helps with Core Data and Realm.
- CodableCSV - Read and write CSV files row-by-row or through Swift's Codable interface.
- AlamofireObjectMapper - An Alamofire extension which converts JSON response data into objects using ObjectMapper.