awesome-swift
A collaborative list of awesome Swift libraries and resources. Feel free to contribute!
https://github.com/eric-erki/awesome-swift
Last synced: 5 days ago
JSON representation
Benchmark
Vim
- xcprofiler - Command line utility to profile compilation time.
Boilerplates
Third party Guides
- Swift 3 VIPER Module Template - Xcode template for VIPER Architecture.
- iOS project template - iOS project template with fastlane lanes, Travis CI jobs and GitHub integrations of Codecov, HoundCI for SwiftLint and Danger.
- Swift Module Template - An opinionated starting point for awesome, reusable modules.
Converters
Vim
- Zolang - A DSL for generating code in multiple programming languages
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.
Editor Support
Emacs
- swift-mode - Emacs support, including partial flycheck error support.
Vim
- swift-vim - Vim runtime files.
- vim-polyglot - Language pack for vim that includes vim-swift.
Guides
Newsletter
- Swift Developments - A weekly curated newsletter containing for people interested in designing and developing their own iOS, watchOS and Apple TV apps.
- Indie iOS Focus Weekly - Curated weekly iOS newsletter.
Style Guides
- LinkedIn - LinkedIn's Official Style Guide.
- 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.
- Raywenderlich - Raywenderlich guide, a must read.
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.
- Swift Education - A community of educators sharing materials for teaching Swift and app development.
- Swift Web Weekly - A free, hand-picked list of the best links for Swift Web Developers, every Monday in your inbox.
- SwiftDoc - Auto-generated documentation.
- The Swift Web Developer - A publication for Swift Web Developers.
- whats-new-in-swift-4 - An Xcode playground showcasing the new features in Swift 4.0.
- The Swift Web Developer - A publication for Swift Web Developers.
- 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.
- The Swift Web Developer - A publication for Swift Web Developers.
- About Swift - A playground about the Swift language.
- 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.
Libs
Accessibility
- Capable - Track accessibility features to improve your app for people with certain disabilities.
AI
- CoreML-Models - A collection of unique Core ML Models.
- MLKit - A simple machine learning framework.
Algorithm
- Algorithm - A toolset for writing algorithms and probability models.
- BTree - Fast sorted collections for Swift using in-memory B-trees.
- SwiftLCS - implementation of the longest common subsequence (LCS) algorithm.
- swift-algorithm-club - Algorithms and data structures, with explanations.
Analytics
- Umbrella - Analytics abstraction layer.
Animation
- Advance - A powerful animation framework for iOS, tvOS, and OS X.
- DKChainableAnimationKit - Easy to read and write chainable animations.
- 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.
- Kinieta - An simple Animation Engine for iOS with an Intuitive API and Readable Code.
- 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.
- SwiftyAnimate - Composable animations.
- 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.
- ChainPageCollectionView - Fancy two-level collection view layout and animation.
- Comets - Animating Particles.
- Elephant - Elegant SVG animation kit for iOS
- Pulsator - Pulse animation for iOS.
- 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.
- SwiftInstagram - Instagram API wrapper.
- SwiftlySalesforce - Framework for rapid development of native iOS apps that integrate with Salesforce.
- GitHubAPI - Implementation of GitHub REST API v3
- GooglePlacesAutocomplete - Simple Google Places address entry for iOS.
- reddift - reddit API wrapper.
- SwiftyInsta - Private and Tokenless Instagram RESTful API.
App Routing
- Appz - Launch external apps and deeplink with ease.
- Crossroad - ๐ Crossroad is an URL router focused on handling Custom URL Schemes.
- 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.
- SwiftRouter - A URL Router for iOS.
- URLNavigator - Elegant URL Routing.
- LightRoute - Routing between VIPER modules.
App Store
- merchantkit - A modern In-App Purchases management framework for iOS.
- SwiftyStoreKit - Lightweight In App Purchases framework.
- InAppPurchase - A Simple, Lightweight and Safe framework for In App Purchase.
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.
- 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.
- TuningFork - A Simple Tuner for iOS.
- 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.
- Soundable - Soundable allows you to play sounds, single and in sequence, in a very easy way.
Augmented Reality
- ARVideoKit - Capture & record ARKit videos, photos, Live Photos, and GIFs.
- ARKit-Navigation - Navigation in augmented reality with MapKit.
- ARVoxelKit - Voxel graphic framework using ARKit.
- Poly - Unofficial Google Poly SDK โ explore the world of 3D.
- ARKit-CoreLocation - Combines the high accuracy of AR with the scale of GPS data.
Authentication
- 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.
- Cely - A Plug-n-Play login framework.
- InstagramLogin - Simple way to authenticate Instagram accounts.
- Simplicity - A simple way to implement Facebook and Google login in your iOS and OS X apps.
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.
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.
- PNChart-Swift - A simple and beautiful chart lib with animation.
- Charts - Beautiful charts for iOS/tvOS/OSX (port of MPAndroidChart).
- 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.
- MessengerKit - A UI framework for building messenger interfaces.
- Real-time Chat with Firebase - Functional real-time chat app with Firebase Firestore using MessageKit.
Colors
- ChromaColorPicker - An intuitive and fun iOS color picker.
- DynamicColor - An extension to manipulate colors easily.
- FlatUIColors - Flat UI color palette.
- 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.
- SwiftHEXColors - HEX color handling as an extension for UIColor.
- UIColor-Hex-Swift - Hex to UIColor converter.
- Gradients - A curated collection of splendid 180+ gradients.
- HexColor - Define UIColors as Hex integers.
- UIGradient - A simple and powerful library for using gradient layer, image, color.
- Chameleon - Chameleon is a lightweight, yet powerful, color framework for iOS.
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.
- CommandLine - Library for creating command-line interfaces.
- LineNoise - A zero-dependency replacement for readline.
- Progress.swift - Add beautiful progress bars to your command line.
- SwiftCLI - A powerful framework that can be used to develop a CLI.
Concurrency
- AsyncNinja - A complete set of concurrency and reactive programming primitives.
- GroupWork - Easy concurrent, asynchronous tasks.
- Hydra - Promises & Await - Write better async code.
- Kommander - Manage the task execution in different threads through Kommands.
- Queuer - A queue manager, built on top of OperationQueue and Dispatch (aka GCD).
- SwiftCoroutine - Coroutines for iOS and macOS.
- Venice - Communicating sequential processes (CSP), Linux ready.
Currency
- Money - Currency formatter.
Data Management
- AlecrimCoreData - Simple Core Data wrapper library.
- Cadmium - Framework that hides the complexity of managed object contexts.
- 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.
- 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.
- Arrow - Elegant JSON Parsing.
- Elevate - JSON parsing framework that makes parsing simple, reliable and composable.
- EVReflection - Reflection based JSON encoding and decoding. Including support for NSDictionary, NSCoding, Printable, Hashable and Equatable.
- Gloss - Shiny JSON parsing library.
- HandyJSON - A handy JSON-object serialization/deserialization library.
- Himotoki - A type-safe JSON decoding library.
- JASON - JSON parsing with outstanding performances and convenient operators.
- JSONNeverDie - Auto reflection tool from JSON to Model, user friendly JSON encoder / decoder, aims to never die.
- ObjectMapper - JSON object mapper.
- PMJSON - JSON encoding/decoding library.
- SwiftyJSON - A lib for JSON with error handling.
- SwiftyJSONAccelerator - macOS app to generate Swift 5 models for JSON (with Codeable).
- Default - Modern interface to UserDefaults + Codable support.
- Defaults - Strongly-typed UserDefaults with support for Codable and key observation.
- DefaultsKit - Simple, Strongly Typed UserDefaults for iOS, macOS and tvOS.
- Prephirences - Manage application preferences, NSUserDefaults, iCloud, Keychain and more.
- SecureDefaults - A lightweight wrapper over UserDefaults & NSUserDefaults with an extra AES-256 encryption layer.
- Storez - Safe, statically-typed, store-agnostic key-value storage.
- SwiftStore - A Key-Value store backed by LevelDB.
- SwiftyUserDefaults - Cleaner, nicer syntax for NSUserDefaults.
- UserDefaultsStore - Why not use UserDefaults to store Codable objects ๐.
- Zephyr - Effortlessly synchronize NSUserDefaults over iCloud.
- Perfect-MongoDB - A stand-alone wrapper around the mongo-c client library, enabling access to MongoDB servers.
- ModelAssistant - Elegant library to manage the interactions between view and model
- PersistenceKit - Store and retrieve Codable objects to various persistence layers, in a couple lines of code!
- Shallows - Your lightweight persistence toolbox.
- StorageKit - Your Data Storage Troubleshooter ๐ .