Awesome Swift
Awesome Swift
https://github.com/matteocrippa/awesome-swift
A collaborative list of awesome Swift resources,inspired by awesome-python and listed on awesome-awesomeness.
Feel free to contribute!
Demo Apps
Some interesting demo/poc apps written in swift.
iOS
A list of iOS swift demo apps
- 2048 - 2048 demo game in swift.
- Alarm - an alarm app in swift.
- Chat - chat like app implementation in swift.
- CloudKit-To-Do-List - a cloudkit based to do list.
- DeckRocket - deckrocket porting in swift.
- Edhita - text edit app.
- Eidolon - The Artsy auction kiosk app.
- firefox-ios - firefox for iOS being developed by Mozilla.
- Federal Open Data - Get federal Open Data using the Federal Data SDK
- FlappySwift - flappy bird clone in swift.
- HackerNews - hackernews reader app written in swift.
- HausClock - chess stile clock app in swift.
- HomeKitDemo - homekit demo app;
- HackerNewsClient-iOS - hackernews client in Swift
- iContactU - delivered on Apple Store: reminds you to contact people you ought to.
- KeychainDemo - keychain sharing between an App and it's share extension
- LayerPlayer - explores CALayer and subclasses; written in Swift; also on App Store
- MyAwesomeChecklist - checklist app in swift.
- Path Logger - a GPS Path Logger with Core Data
- Pocket Forecast - typhoon weather example
- ReactiveSwiftFlickrSearch - an MVVM & ReactiveCocoa Flickr search app in swift.
- Round & Split - a tip calculator in swift
- SwiftDemo - a collection of demo for swift.
- SwiftFlickrApp - flickr app written in swift.
- SwiftHN - hacker news app in swift.
- SwiftWeather - a nice weather app written in swift.
- TextEthan - a clone of TextEthan, a messaging app that allows anyone to message you
- Task - a task app written in Swift that is published in the app store.
- The Oakland Post - a full-fledged, 100%-Swift (minus dependencies) news reader.
- Valio - event time table app in swift.
- Walk Tracker - GPS Walk Tracking app with Core Data
Watch
A list of Apple watch enabled projects
- Gulps - OS app for iOS and apple watch to monitor water consumption.
- Soon - Countdown app for apple watch.
OS X
A list of OSX swift demo apps
- clock-saver - a clock screen saver for osx written in swift.
- dshb - OS X system monitor in Swift
- Helium - floating web browser
- Panda - a simple OSX menu bar application to enable/disable Yosemite dark mode.
- RetinAssets - a simple app that generates missing images from a scaled images (3x -> 2x and 1x scale)
Dependency Managers
Dependency manager software for swift.
- carthage - a new dependency manager for swift.
- cocoapods - the most used dependency manager for Objective-C.
Guides
An awesome list of swift related guides.
- A better way to learn swift - Learn swift in a different way.
- Apple eBook - Official Apple eBook for swift beginners.
- Developing iOS 8 Apps with Swift - Stanford course by Paul Hegarty.
- Exercism.io - Free Swift Crowd-sourced mentorship by doing exercises
- Functional Programming in Swift - A book on how to use Swift functionally
- Learn Swift - a collection of tuts that will help you learning swift via playground.
- Natasha the Robot - Weekly Newsletter on learning Swift
- objc.io snippets - Short, weekly snippets showing off Swift features
- Practice Swift - an interesting guide to learn swift.
- SwiftDoc - Auto-generated documentation for Swift.
- SwiftGuide CN - A chinese written guide for swift.
- SwiftInFlux - A well explained list of feature in flux for swift
- Swifty - App to learn to code in Swift.
- Swift Tips - Swift tips collection.
- Swift-Weekly - Weekly Swift Language Gems, Tips and Tricks
Style Guides
- GitHub - Style guide & coding conventions for Swift projects.
- Raywenderlich - Raywenderlich swift guide, a must read.
- SlideShare (LinkedIn) - Style guides that SlideShare (LinkedIn) uses for their Swift iOS app.
Editor Support
Support for your favorite editors.
Vim
- swift-vim - play swift with vim editor.
- vim-swift - adds swift support to vim. It covers syntax, indenting, and more.
- vim-polyglot - language pack for vim that includes vim-swift.
Libs
Here you can find a list of snippets and libs for your swift projects.
Animation
Libs to help with animation
- DKChainableAnimationKit - Easy to read and write chainable animations in Swift.
- EasyAnimation - A Swift library to take the power of UIView.animateWithDuration(_:, animations:...) to a whole new level.
- Spring - A library to simplify iOS animations in Swift.
Audio
Libs to work with audio
- AudioPlayer - A wrapper around AVPlayer with some cool features.
- MusicKit - A framework for composing and transforming music in Swift
API
Quick libs to get access to third party API services
- Federal Data SDK - Eases access to multiple federal government OpenGov APIs
- GooglePlacesAutocomplete - Simple Google Places address entry for iOS.
- Swifter Twitter - Swifter Twitter framework for swift.
- Typhoon - Dependency injection toolkit in swift.
- PredictionIO SDK - A convenient API to communicate with PredictionIO's Event Server and ML Engines
- PXGoogleDirections - Google Directions API helper.
Colors
Interesting snippets related to color management and utility.
- DynamicColor - An extension to manipulate colors in Swift easily.
- FlatUIColors - Flat UI color palette in Swift.
- Google Material Color - Google Material Color Palette in Swift.
- HexColor - Define UIColors as Hex integers.
- PrettyColors - Styles and colors text in the Terminal with ANSI escape codes. Conforms to ECMA Standard 48.
- RandomColorSwift - An attractive color generator for Swift. Ported from randomColor.js.
- UIColor-Hex-Swift - Hex to UIcolor converter.
- UIColorWDUtils - Extension for Hex RGB(A).
Cryptography
Deal with cryptography method easily in swift
- CryptoSwift - add crypto lib support to swift.
- SwiftSSL - add crypto toolkit in swift.
Data Management
Core Data
No more pain with Core Data, here listed some interesting lib to handle data management.
- AERecord - super awesome Core Data wrapper library for iOS written in Swift.
- AlecrimCoreData - a simple CoreData wrapper library written in Swift.
- CoreStore - simple and elegant way to handle CoreData in Swift.
- JSQCoreDataKit - A swifter Core Data stack.
- SugarRecord - an easy with to work with coredata and realm.
- SuperRecord - A small set of utilities to make working with CoreData and Swift a bit easier.
- QueryKit - an easy way to play with coredata filtering within your swift projects.
JSON
Struggling using json data? Here you are some interesting way to handle it.
- AlamofireObjectMapper - An Alamofire extension which converts JSON response data into swift objects using ObjectMapper.
- Argo - Json parsing library
- Himotoki - A type-safe JSON decoding library purely written in Swift.
- json-swift - A basic library for working with JSON in swift.
- JSONHelper - lightning fast JSON deserialization and value conversion library for iOS & OS X written in swift.
- ObjectMapper - JSON object mapper.
- Pistachio - Generic model framework for Swift.
- SwiftyJSON - A lib for JSON in swift with error handling.
- SwiftMapper - JSON Mapper.
- SwiftJSONParser - JSON parser.
SQLite
Are you interested in storing your app data using SQLite? Here some interesting resources.
- SQLite.swift - A pure Swift framework wrapping SQLite3. Small. Simple. Safe.
- SQLiteDB - sqlite wrapper for swift.
- SwiftData - simple and Effective SQLite Handling in Swift.
XML
If you prefer to manage XML data formatted entries, here some helpful libs
Date
Handle data formatting easily.
- AFDateHelper - Simple date helper.
- Punctual.swift - Swift date handler
- Swift-NSDate-Extensions - Swift Version of Erica's NSDate Extensions.
- SwiftDate - Easy NSDate Management in Swift
- SwiftMoment - A time and calendar manipulation library.
- SwiftyTimer
- Tempo - Date and time manager for iOS/OSX written in Swift.
- Timepiece - Intuitive NSDate extensions in Swift.
Events
Alternatives to NSNotificationCenter, Key-Value-Observation, or delegation.
- Bond - a Swift binding framework.
- BrightFutures - promise and future lib for swift.
- Caravel - A Swift event bus for UIWebView and JS
- DeLorean - A Functional Reactive Programming kit.
- EmitterKit - an implementation of event emitters and listeners in swift.
- Future - A micro framework providing Future
- FutureKit - A Swift based Future/Promises Library.
- PromiseKit - async promise programming lib.
- PureFutures - Futures and Promises library
- Signals - replaces delegates and notifications.
- SwiftEventBus - A publish/subscribe event bus optimized for iOS.
- ReactKit - Swift Reactive Programming.
- RxSwift - Microsoft Reactive Extensions (Rx) for Swift and iOS/OSX platform.
Fonts
A collection of font related snippets.
- Font-Awesome - Use Font Awesome in project written in Swift.
- FontBlaster - Programmatically load custom fonts into your iOS app.
- GoogleMaterialDesignIcons - google Material Design Icons Font for iOS.
- MCFontAwesome - fontawesome porting for swift.
- OpenSansSwift - OpenSans for swift.
- SDevIconFonts - Fontawesome, Iconic, Ionicons, Octicon porting for swift.
- SwiftFonts - render all the supported fonts in swift.
Gesture
- DBPathRecognizer - db path recognizer for letters.
iBeacon
Interested in using iBeacon in your swift project? Here some interesting resources.
- iBeacon - iBeacon implementation in swift.
Images
An interesting list of image related libs..
- CYFastImage - display images from web.
- DePict - functional wrapper for CoreGraphics
- gifu - highly performant animated GIF support for iOS in Swift.
- ImageLoader - A lightweight and fast image loader for iOS written in Swift.
- ImageScout - a Swift implementation of fastimage - supports PNG, GIF, and JPEG.
- KFSwiftImageLoader - An extremely high-performance, lightweight, and energy-efficient pure Swift async web image loader with memory and disk caching for iOS and Watch.
- Kingfisher - a lib for image download and caching.
- MapleBacon - Swift image download and caching library.
- PASImageView - async remote download your image and round them. automatically.
- SwiftColorArt - font schema generator according image colours.
- SwiftGif - A small UIImage extension with gif support
- Toucan - Image processing api
- UIImageView-BetterFace-Swift - autoresize images and if any face discovered refine the position of the image.
Keyboard
Do you want to create your own customized keyboard? Here some interesting resources
- Hodor Keyboard - poc for custom keyboard implementation.
Layout
Libs to help you with layout.
- ManualLayout - Easy to use and flexible AutoLayout alternative for iOS 8+. Supports AsyncDisplayKit.
- SwiftBox - Flexbox in Swift, using Facebook's css-layout.
Auto Layout
Bored of using storyboard? Give a try to declarative auto layout libs.
- Cartography - declarative auto layout lib for your project.
- PureLayout – The ultimate API for iOS & OS X Auto Layout.
- Restraint - Minimal Auto Layout in Swift.
- SnapKit - A Swift Autolayout DSL for iOS & OS X.
- Snappy - a light-weight layout framework which wraps AutoLayout with nicer syntax.
- SwiftAutoLayout - a small DSL for autolayout.
- Swiftstraints - Powerful auto-layout framework that lets you write constraints in one line of code.
- Tails - declarative autolayout for ios app written in swift.
- VFLToolbox - fancy Swift implementation of the Visual Format Language
Logging
Utilities for writing to and reading from the device log
- CleanroomASL — a low-level Swift API for writing to and reading from the Apple System Log daemon
- CleanroomLogger — a configurable and extensible high-level logging API that is simple, lightweight and performant
Math
- Easy-Cal-Swift - Overload +-*/ operator for Swift, make it easier to use (and not so strict).
- Surge - Accelerate framework for swift.
- swix - A general matrix language.
Network
A list of libs that allow you to decrease the amount of time spent to deal with http requests.
- agent - http request agent.
- Alamofire - elegant networking in swift.
- APIKit - a library for building type-safe web API client.
- GRequest - http request handler.
- IJReachability - check for network connection availability.
- Just - HTTP for Humans (a python-requests style HTTP library in Swift)
- ModestProposal - an HTTP toolbox.
- Moya - network abstraction layer.
- Net - an httprequest wrapper.
- OAuth2 - oauth2 auth lib.
- OAuthSwift - Swift based OAuth library for iOS.
- PeerKit - An open-source Swift framework for building event-driven, zero-config Multipeer Connectivity apps.
- RSNetworking - Network library written purely in Swift.
- Socket.IO - Socket.IO client for iOS/OS X.
- SocketIO-Kit - Socket.io iOS and OSX Client.
- Stargate - A communication channel from your Mac to your watch.
- Starscream - websockets implementation in swift.
- SwiftHTTP - NSURLSession wrapper.
- SwiftSocket - simple TCP socket library.
- SwiftWebSocket - A high performance WebSocket client library for Swift.
- Transporter - A tiny library makes uploading and downloading easier.
- YYHRequest-Swift - http request in async.
Quality
- SwiftLint - An experimental tool to enforce Swift style and conventions.
Security
- iOS-TouchID-Swift - TouchID for Swift.
- JMEasyTouchID - TouchID one line wrapper.
- KeychainAccess - Simple Swift wrapper for Keychain that works on iOS and OS X.
- KeyClip - Keychain framework for iOS written in Swift.
- SwiftKeychainWrapper - a simple static wrapper for the iOS Keychain to allow you to use it in a similar fashion to user defaults.
Sensors
Manage your device sensors in a faster and easier way
- MotionKit - iOS device sensors wrapper
System
Testing
A collection of testing frameworks.
- Mockingjay - An elegant library for stubbing HTTP requests with ease in Swift.
- Quick - Quick is a behavior-driven development framework for Swift and Objective-C.
- Sleipnir - BDD-style framework for Swift.
- SwiftCheck - A testing library that automatically generates random data for testing program properties.
- Swiftest - experimental BDD-style framework.
UI
A collection of pre-packaged transitions & cool ui stuffs.
- Adaptive Tab Bar - Adaptive tab bar.
- AIFlatSwitch - Flat animated switch.
- BreakOutToRefresh - A playable pull to refresh view using SpriteKit
- BWWalkthrough - A class to build custom walkthroughs for your iOS App.
- BubbleTransition - Bubble transition in a easy way.
- CharacterText - Perform fx on UILabel.
- ENSwiftSideMenu - Sliding side menu.
- Few.swift - Views as functions of their state.
- FloatLabelFields - Text entry controls which contain a built-in title/label so that you don't have to add a separate title for each field.
- FloatRatingView - Floating rating system.
- FrostedSidebar - Hamburger Menu using Swift and iOS 8 API's.
- Geometry - extensions for UIView.
- GoogleWearAlert - Google Wear Alert style.
- GuillotineMenu - Guillotine style menu.
- Hakuba - A new way to manage UITableView without the code of UITableViewDelegate and UITableViewDataSource.
- HamburgerButton - Hamburger button with a slick animation.
- Hamburger button transition - Hamburger button transition.
- ios-charts - An iOS port of the beautiful MPAndroidChart.
- JTToast - Toast for swift.
- LTMorphingLabel - Graceful morphing effects for UILabel written in Swift.
- LTJelloSwitch - UISwitch prototype.
- KDEDateLabel - An UILabel subclass that updates itself to make time ago's format easier.
- KMPlaceholderTextView - A UITextView subclass that adds support for multiline placeholder.
- MaterialKit - Material design components.
- MediumScrollFullScreen - Medium scroll style menubar.
- MIBadgeButton - Notification badge for UIButtons
- Pagemenu - Pagination enabled view controller.
- PagingMenuController - Paging view controller with customizable menu in Swift.
- Panoramic - Panoramic facebook story clone.
- Persei - Animated top menu for UITableView / UICollectionView / UIScrollView written in Swift.
- PinterestSwift - Pinterest style transition.
- PKHUD - Reimplementation of the Apple HUD.
- PNChart-Swift - A simple and beautiful chart lib with animation
- PPSwiftGifs - a convenient way to show animated GIF images as a part of iOS GUI.
- PullToRefreshSwift - PullToRefresh library.
- RubberBandEffect - Recreating Apple’s rubber band effect in Swift.
- SAHistoryNavigationViewController - iOS task manager like UI in UINavigationContoller.
- SCLAlertView - Animated Alert view.
- SDevBootstrapButton - Twitter Bootstrap buttons for Swift
- Siren - Inform users when App Store updates are available.
- Swift-Prompts - A Swift library to design custom prompts with a great scope of options to choose from.
- SweetAlert - Alert system.
- SwiftOverlays - various popups and notifications.
- TagListView - Simple but highly customizable iOS tag list view.
- TextFieldEffects - Several ready to use effects for UITextFields
- Twinkle - a Swift and easy way to make elements in your iOS app twinkle.
- ZFRippleButton - A ripple button animation.
Utility
Some interesting utilities that help you in your projects
- __ - Underscore.js power in your swift projects.
- AAWindow - UIWindow subclass to enable behavior like adaptive round-corners & detecting when Control Center is opened.
- Async – Syntactic swift sugar for Grand Central Dispatch
- Async.legacy – Syntactic swift sugar for Grand Central Dispatch (iOS 7 and OS X 10.9 Mavericks compatible fork)
- AwesomeCache - manage cache easy in your swift project.
- Chronos- Grand Central Dispatch Utilities.
- CLIKit - a way to create cli with swift.
- Collection Each - add each func to collections.
- CommandLine - A pure Swift library for creating command-line interfaces
- DBPathRecognizer - Gesture recognizer tool.
- Dispatcher - Queues, timers, and task groups in Swift
- Dollar - a lib similar to Lo-Dash or Underscore in Javascript.
- ExSwift - a set of swift extensions for standard types and classes.
- Forbind - Functional chaining and Promises in Swift
- Funky - Functions and operators for functional programming in Swift.
- GCD - A wrapper of Grand Central Dispatch written in Swift
- Honour - Simple and powerful Validation Library
- Lambdatron - Clojure(ish) interpreter in Swift.
- LlamaKit - Collection of must-have functional Swift tools.
- Mendel - Swift miliframework for implementing evolutionary/genetic algorithms.
- PermissionScope - A Periscope-inspired way to ask for iOS permissions.
- protobuf-swift - ProtocolBuffers for Swift.
- Prototope - Swift library of lightweight interfaces for prototyping, bridged to JS.
- Puree - A log collector for iOS
- Pythonic.swift - Pythonic tool-belt for Swift: a Swift implementation of selected parts of Python standard library.
- Regex - Swift wrapper class for
NSRegularExpression
. Includes amap()
override and an operator (=~
) for a more Swift-like API. - Result - Swift type modelling the success/failure of arbitrary operations.
- Runes - Functional operators for Swift - flatMap, map, apply, pure
- SpecificationPattern - chainable rules useful for form validation.
- SpriteKit+Spring - SpriteKit API reproducing UIView's spring animations with SKAction.
- Stream - Lazy streams in Swift.
- SwiftBitmask -
Bitmask<T>
type intended as a replacement forRawOptionSet
. - SwiftColors - HEX color handling as an extension for UIColor.
- SwiftForms - form are now easy as 1.2.3!
- SwiftMemCache - Swift Memory Cache with namespace & TTL support.
- SwiftyStateMachine - Swift µframework for creating state machines.
- SwiftyUserDefaults — a cleaner, nicer syntax for NSUserDefaults
- Swiftz - a lib for functional programming.
- Swift Sugar - objsugar ported to swift.
- undefined - Nano framework which defines Haskell's undefined in Swift.
- Versions - Helping you find inner peace when comparing version numbers in Swift.
- Wyrd - Asynchronous programming in Swift made easy. Wyrd is inspired by Promises/A+.
- XCGLogger - a lib that help you handling better debug logging.
- Swell - a logging utility for Swift.
Video
- Player - iOS video player in Swift, simple drop in component for playing and streaming media.
Webserver
Do you wanna host a webserver in your device? Here you can find some tricks to do it.
- NetworkObjects - REST HTTP Server written in Swift. Builds REST API from Core Data.
- swifter - Http server written in Swift with routing handler.
Misc
Miscellaneous Swift related projects
- swift-compiler-crashes - A collection of test cases crashing the Swift compiler
- swiftier - Quick-and-dirty Objective-C to Swift translator.
- SwiftInFlux — List of things that are "in flux" in Swift + changelog of the language
Tools
Tools for Swift development
Documentation
Generate documentation for Swift code
- jazzy - Soulful docs for Swift & Objective-C
- swiftdoc-parser - Header parsing and HTML generating utilities for SwiftDoc.org