Awesome Swift

A curated list of awesome Swift frameworks, libraries and software. Inspired by awesome-php.

UI

  • Sejima - User Interface Library components for iOS.
  • Eureka - Elegant iOS Forms in pure Swift.
  • XLActionController - Fully customizable and extensible action sheet controller written in Swift.
  • FlourishUI - Framework for modals, color exensions and buttons.
  • SwiftColors - HEX color handling as an extension for UIColor.
  • FontAwesome.swift - Use FontAwesome in your Swift projects.
  • SwiftOverlays - GUI library for displaying various popups and notifications.
  • ios-charts - A powerful chart / graph framework, the iOS equivalent to MPAndroidChart.
  • TagCellLayout - UICollectionView layout for Tags with Left, Center & Right alignments.
  • TagListView - Simple but highly customizable iOS tag list view.
  • SwiftyButton - Simple and customizable button in Swift
  • Swiftstraints - Powerful auto-layout framework that lets you write constraints in one line of code.
  • PagingMenuController - Paging view controller with customizable menu in Swift
  • GaugeKit - Customizable gauges. Easy reproduce Apple's style gauges.
  • Hokusai - A library for a cool bouncy action sheet
  • LNRSimpleNotifications - Simple Swift in-app notifications
  • GoogleMaterialIconFont - Google Material Icon Font for Swift and ObjC.
  • CozyLoadingActivity - Lightweight loading activity HUD
  • VideoSplash - Video based UIViewController
  • EZAlertController - Easy Swift UIAlertController
  • EZSwipeController- ๐Ÿ‘† UIPageViewController like Snapchat/Tinder/iOS Main Pages
  • ImagePicker - A nicely designed and super easy to use ImagePicker. ๐Ÿ“ท
  • Notie - In-app notification in Swift, with customizable buttons and input text field.
  • Whisper - Break the silence of your UI, whispering, shouting or whistling at it
  • HTYTextField - A UITextField with bouncy placeholder in Swift.
  • SwiftPasscodeLock - An iOS passcode lock with TouchID authentication written in Swift.
  • SlideMenuControllerSwift - iOS Slide Menu View based on Google+, iQON, Feedly, Ameba iOS app. It is written in pure swift.
  • Hue - Hue is the all-in-one coloring utility that you'll ever need.
  • SAHistoryNavigationViewController - SAHistoryNavigationViewController realizes iOS task manager like UI in UINavigationContoller.
  • WobbleView - Implementation of wobble effect for any view in app.
  • SimpleAlert - Customizable simple Alert and simple ActionSheet for Swift
  • Interactive Side Menu - Customizable iOS Interactive Side Menu written in Swift 3.0.
  • NFDownloadButton - Revamped Download Button.
  • EFQRCode - A better way to operate quick response code in Swift.
  • SendIndicator - Yet another task indicator.
  • SectionedSlider - Control Center Slider.
  • Cupcake - An easy way to create and layout UI components for iOS.
  • PinLayout - Extremely Fast views layouting without auto layout. No magic, pure code, full control and blazing fast. Concise syntax, intuitive, readable & chainable.
  • Gemini - Gemini is rich scroll based animation framework for iOS, written in Swift.
  • Hero - Hero is a library for building iOS view controller transitions.
  • CrispyCalendar - CrispyCalendar is the calendar UI framework.
  • Ribbon - ๐ŸŽ€ A simple cross-platform toolbar/custom input accessory view library for iOS & macOS.

Files

  • FileKit - Simple and expressive file management in Swift.

JSON/XML Manipulation

  • SwiftyJSON - The better way to deal with JSON data in Swift.
  • json-swift - A basic library for working with JSON in Swift.
  • Argo - JSON parsing library for Swift, inspired by Aeson.
  • ObjectMapper - JSON Object mapping written in Swift.
  • Alamofire-SwiftyJSON - Alamofire extension for serialize NSData to SwiftyJSON.
  • SWXMLHash - Simple XML parsing in Swift.
  • AEXML - Simple and lightweight XML parser for iOS written in Swift.
  • Starscream - WebSockets Library
  • JASON - JSON parsing with outstanding performances and convenient operators.
  • Fuzi - A fast & lightweight XML/HTML parser with XPath & CSS support in Swift 2.
  • Tailor - A super fast & convenient object mapper tailored for your needs.
  • SwiftyJSONAccelerator - Generate Swift 5 model files from JSON with Codeable support.

Databases

Databases implemented in Swift.

  • Realm - A mobile database that runs directly inside phones, tablets or wearables.
  • SQLite.swift - A pure Swift framework wrapping SQLite3. Small. Simple. Safe.
  • SwiftData - A simple and effective wrapper around the SQLite3 C API written completely in Swift.
  • Squeal - A Swift wrapper for SQLite databases.
  • SQLiteDB - Basic SQLite wrapper for Swift.
  • SwiftMongoDB - A Swift driver for MongoDB.
  • ModelAssistant - Elegant library to manage the interactions between view and model in Swift.
  • PostgresClientKit - A PostgreSQL client library for Swift. Does not require libpq.

Testing

Libraries for testing codebases and generating test data.

  • Quick - A behavior-driven development test framework for Swift and Objective-C.
  • Sleipnir - A BDD-style framework for Swift.
  • Nimble - A Matcher Framework for Swift.
  • Fakery - Swift fake data generator.
  • SwiftRandom - Generator for random data.
  • MockFive - A mocking framework for Swift with runtime function stubbing.

Documentation

Libraries for generating documentation files.

  • jazzy - A soulful way to generate docs for Swift & Objective-C

Events

Libraries for one-to-many communications.

  • Caravel - A Swift event bus for UIWebView and JS
  • EmitterKit - An elegant event framework built in Swift
  • Swift-Custom-Events - A very simple way to implement Backbone.js style custom event listeners and triggering in Swift for iOS development.
  • Kugel - A glorious Swift wrapper around NSNotificationCenter

Queue

Libraries for working with event and task queues.

  • TaskQueue - A Task Queue Class developed in Swift.
  • Dispatcher - Queues, timers, and task groups in Swift
  • GCDKit - Grand Central Dispatch simplified with Swift.

HTTP

Swift libraries and wrappers for HTTP clients.

  • Alamofire - an HTTP networking library written in Swift.
  • ReactiveAPI - Write clean, concise and declarative network code relying on URLSession, with the power of RxSwift. Inspired by Retrofit.
  • SwiftHTTP - Thin wrapper around NSURLSession in swift. Simplifies HTTP requests.
  • Net - HttpRequest wrapper written in Swift.
  • OAuthSwift - Swift based OAuth library for iOS
  • Moya - Network abstraction layer written in Swift
  • Just - HTTP for Humans (python-requests style HTTP library)
  • SocketIO-Kit - Socket.io iOS/OSX Client compatible with v1.0 and later
  • SwiftWebSocket - High performance WebSocket client library for Swift.
  • AeroGear IOS Http - is a thin layer to take care of your http requests working with NSURLSession.
  • Nuke - Advanced framework for loading and caching images
  • Siesta - Ends state headaches by providing a resource-centric alternative to the familiar request-centric approach to HTTP.
  • Taylor - a web server library in Swift.
  • Perfect - a web framework tayin Swift.
  • Swifter - an HTTP server engine in Swift.
  • Kingfisher - A lightweight and pure Swift implemented library for downloading and caching image from the web.

Caching

Libraries for caching.

  • HanekeSwift - A lightweight generic cache for iOS written in Swift with extra love for images.
  • Carlos - A simple but flexible cache for iOS and WatchOS 2 apps, written in Swift.

Security

Libraries for generating secure random numbers, encrypting data and scanning for vulnerabilities.

  • CryptoSwift - Crypto related functions and helpers for Swift implemented in Swift programming language.
  • SHA256-Swift - Swift framework wrapping CommonCrypto's SHA256 methods.
  • SwiftSSL - An Elegant crypto toolkit in Swift.
  • SwiftyRSA - RSA public/private key encryption in Swift

Logging

Libraries for generating and working with log files.

  • QorumLogs โ€” Swift Logging Utility for Xcode & Google Docs.
  • CleanroomLogger - A configurable and extensible pure Swift logging API that is simple, lightweight and performant.
  • XCGLogger - A debug log framework for use in Swift projects.
  • Swell - A logging utility for Swift and Objective C.
  • Log - A logging tool with built-in themes, formatters, and a nice API to define your owns.
  • NSLogger - A high perfomance logging utility which displays traces emitted by client applications running on Mac OS X, iOS and Android.

Command Line

Libraries for creating command line applications.

  • CommandCougar - An elegant pure Swift library for building command line applications.

Audio

  • AudioKit - Audio synthesis, processing, and analysis platform
  • MusicKit - Framework and DSL for creating, analyzing, and transforming music in Swift
  • WebMIDIKit - Simplest MIDI Swift framework

Third Party APIs

Libraries for accessing third party APIs.

  • GooglePlacesAutocomplete - Simple Google Places address entry for iOS.
  • Swifter - A Twitter framework for iOS & OS X written in Swift
  • SwiftIB - An InteractiveBrokers API Library for OS X written in Swift. InteractiveBrokers is one of a few, if not the best, brokerage company provide Gateway+API solution for traders.

Extensions

  • Dollar.swift - A functional tool-belt for Swift Language similar to Lo-Dash or Underscore in Javascript.
  • swiftz - A Swift library for functional programming.
  • ExSwift - JavaScript (Lo-Dash, Underscore) & Ruby inspired set of Swift extensions for standard types and classes.
  • Observable-Swift - Value Observing and Events for Swift.
  • PromiseKit - A delightful Promises implementation for iOS.
  • Promissum - Promise library with functional combinators like map, flatMap, whenAll & whenAny.
  • Promise - Simple promises library in Swift.
  • PureFutures - Futures and Promises library
  • SwiftTask - Promise + progress + pause + cancel, using SwiftState (state machine).
  • Pythonic.swift - Pythonic tool-belt for Swift โ€“ a Swift implementation of selected parts of Python standard library.
  • SWRoute - A tiny Swift wrapper. Allows you to route (hook) quite any function/method with another function/method or even a closure.
  • Euler - Swift Custom Operators for Mathematical Notation.
  • swix - Swift Matrix and Machine Learning Library.
  • Easy-Cal-Swift - Overload +-*/ operator for Swift, make it easier to use (and not so strict).
  • AlecrimCoreData - A simple Core Data wrapper library written in Swift.
  • Async - Syntactic sugar in Swift for asynchronous dispatches in Grand Central Dispatch.
  • SwiftState - Elegant state machine for Swift.
  • LlamaKit - Collection of must-have functional Swift tools.
  • ReactKit - Swift Reactive Programming.
  • Basis - A number of foundational functions, types, and typeclasses.
  • CAAnimation + Closure - Add start / completion closures for CAAnimation instances
  • SwiftyUserDefaults โ€” a cleaner, swiftier API for NSUserDefaults
  • Pluralize.swift - Great Swift String Pluralize Extension
  • SwiftSequence - A ฮผframework of extensions for SequenceType in Swift 2.0, inspired by Python's itertools, Haskell's standard library, and other things.
  • BrightFutures - Write great asynchronous code in Swift using futures and promises.
  • EZSwiftExtensions - ๐Ÿ˜ How Swift standard types and classes were supposed to work.
  • BFKit-Swift - A collection of useful classes to develop Apps faster.
  • Sugar - Something sweet that goes great with your Cocoa.
  • ZamzamKit - A collection of micro utilities and extensions for Standard Library, Foundation and UIKit.
  • Bow - Companion library for Typed Functional Programming in Swift.
  • SwiftCoroutine - Swift coroutines for iOS and macOS.

Misc

  • acli - commandline tool to download curated libraries from github (very beta)
  • Compass - Compass helps you setup a central navigation system for your application.
  • R.swift - tool to get strong typed, autocompleted resources like images and segues in your Swift project
  • SwiftKVC - Key-Value Coding (KVC) for native Swift classes and structs
  • Tactile - A safer and more idiomatic way to respond to gestures and control events.
  • Swift 4 Module Template - An opinionated starting point for awesome, reusable Swift 4 modules
  • SwiftValidators - String validation for iOS developed in Swift. Inspired by validator.js
  • Versions - Helping you find inner peace when comparing version numbers in Swift
  • Swift 4 Module Template - An opinionated starting point for awesome, reusable Swift 4 modules

Resources

Various resources, such as books, websites and articles, for improving your Swift development skills and knowledge.

Swift Websites

Swift Books

Swift Videos

Swift Playgrounds

Other Awesome Lists

Other amazingly awesome lists can be found in the awesome-awesomeness list.

Contributing

Your contributions are always welcome! Please submit a pull request or create an issue to add a new framework, library or software to the list. Do not submit a project, which hasn't been updated in the past 6 months or is not awesome.