awesome-swift
A collaborative list of awesome Swift libraries and resources. Feel free to contribute!
https://github.com/matteocrippa/awesome-swift
Last synced: 13 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
-
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.
-
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 - :oncoming_bus: 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.
- Alembic - Functional JSON parsing, mapping to objects, and serialize to JSON.
- Argo - JSON parsing library.
-
Programming Languages
Categories
Sub Categories
UI
318
Data Management
76
Utility
68
Network
61
Vim
47
Images
46
Text
30
Layout
30
Animation
25
Events
24
Third party Guides
22
Testing
22
Security
19
Hardware
17
Logging
16
Video
14
Audio
13
Command Line
12
Date
11
API
11
Dependency Injection
11
Localization
10
Concurrency
10
Fonts
10
App Routing
10
Colors
10
Quality
9
Validation
9
Chat
8
Chart
8
Cache
8
Keyboard
7
Device
7
AI
6
Thread
6
App Store
6
Files
6
Authentication
5
Math
5
Official Guides
4
Augmented Reality
4
Algorithm
4
Game Engine
4
Version Manager
4
Gesture
4
Maps
4
Analytics
4
Style Guides
4
Styling
3
System
3
PDF
3
Streaming
3
Kit
3
Games
2
Bots
2
Location
2
Documentation
2
Google Colaboratory
1
Accessibility
1
Embedded Systems
1
Emacs
1
SVG
1
OCR
1
Scripting
1
Newsletter
1
Keywords
swift
685
ios
425
cocoapods
176
carthage
126
macos
102
xcode
71
tvos
69
swift-package-manager
65
animation
60
ui
52
swiftui
48
watchos
42
uikit
42
library
36
swift5
34
swift-library
33
ios-swift
30
swift4
28
objective-c
25
linux
24
uicollectionview
23
swift-framework
22
apple
22
layout
21
ui-components
19
server-side-swift
19
swift-3
18
framework
18
swift-package
18
uitableview
16
alert
15
video
15
ios-ui
15
networking
15
cli
14
storyboard
14
transition
14
swiftui-components
14
popup
13
audio
13
rxswift
13
autolayout
13
json
13
collectionview
12
spm
12
swift3
12
ios-animation
11
image
11
ios11
11
uiview
11