Skip to content

A collaborative list of awesome swift resources. Feel free to contribute!

License

Notifications You must be signed in to change notification settings

zshu/awesome-swift

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 

Repository files navigation

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

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.

Official Guide

Third party Guides

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

Colors

Interesting snippets related to color management and utility.

Cryptography

Deal with cryptography method easily 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.
  • yaml.swift - Load YAML and JSON documents using Swift.

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.

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<T, Error>
  • 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.

Gesture

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

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

  • 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

System

  • SMCKit - Apple SMC library in Swift
  • SystemKit - OS X system library in Swift

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.

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 a map() 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 for RawOptionSet.
  • 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

About

A collaborative list of awesome swift resources. Feel free to contribute!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published