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

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.

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.

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
  • 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

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

Awesome Swift的更多相关文章

  1. iOS代码规范(OC和Swift)

    下面说下iOS的代码规范问题,如果大家觉得还不错,可以直接用到项目中,有不同意见 可以在下面讨论下. 相信很多人工作中最烦的就是代码不规范,命名不规范,曾经见过一个VC里有3个按钮被命名为button ...

  2. Swift与C#的基础语法比较

    背景: 这两天不小心看了一下Swift的基础语法,感觉既然看了,还是写一下笔记,留个痕迹~ 总体而言,感觉Swift是一种前后端多种语言混合的产物~~~ 做为一名.NET阵营人士,少少多多总喜欢通过对 ...

  3. iOS开发系列--Swift语言

    概述 Swift是苹果2014年推出的全新的编程语言,它继承了C语言.ObjC的特性,且克服了C语言的兼容性问题.Swift发展过程中不仅保留了ObjC很多语法特性,它也借鉴了多种现代化语言的特点,在 ...

  4. 算法与数据结构(十七) 基数排序(Swift 3.0版)

    前面几篇博客我们已经陆陆续续的为大家介绍了7种排序方式,今天博客的主题依然与排序算法相关.今天这篇博客就来聊聊基数排序,基数排序算法是不稳定的排序算法,在排序数字较小的情况下,基数排序算法的效率还是比 ...

  5. 算法与数据结构(十五) 归并排序(Swift 3.0版)

    上篇博客我们主要聊了堆排序的相关内容,本篇博客,我们就来聊一下归并排序的相关内容.归并排序主要用了分治法的思想,在归并排序中,将我们需要排序的数组进行拆分,将其拆分的足够小.当拆分的数组中只有一个元素 ...

  6. Swift enum(枚举)使用范例

    //: Playground - noun: a place where people can play import UIKit var str = "Hello, playground& ...

  7. swift开发新项目总结

    新项目用swift3.0开发,现在基本一个月,来总结一下遇到的问题及解决方案   1,在确定新项目用swift后,第一个考虑的问题是用纯swift呢?还是用swift跟OC混编      考虑到新项目 ...

  8. swift 中关于open ,public ,fileprivate,private ,internal,修饰的说明

    关于 swift 中的open ,public ,fileprivate,private, internal的区别 以下按照修饰关键字的访问约束范围 从约束的限定范围大到小的排序进行说明 open,p ...

  9. 【swift】BlockOperation和GCD实用代码块

    //BlockOperation // // ViewController.swift import UIKit class ViewController: UIViewController { @I ...

  10. iOS开发系列--Swift 3.0

    概述 从写第一篇Swift文章的时候到现在Swift已经从1.2发展到了今天的3.0,这期间由于Swift目前还在发展阶段并不能向下兼容,因此第一篇文章中的部分代码在当前的Xcode环境中已经无法运行 ...

随机推荐

  1. WebService之基于REST机制的实现实例(Java版)

    REST是REpresentational State Transfer的缩写(一般中文翻译为表述性状态转移).2000年Roy Fielding博士在他的博士论文“Architectural Sty ...

  2. 洛谷P1529 回家 Bessie Come Home

    P1529 回家 Bessie Come Home 题目描述 现在是晚餐时间,而母牛们在外面分散的牧场中. 农民约翰按响了电铃,所以她们开始向谷仓走去. 你的工作是要指出哪只母牛会最先到达谷仓(在给出 ...

  3. ionic ngcordova map 地圖

    幾乎每個APP都會有地圖 所以在這裏記錄一下 1.在index.html 中 <script src="https://maps.googleapis.com/maps/api/js? ...

  4. IRS-P6数据介绍

    IRS-P6发射于2003年10月17日,星上携带三个传感器:多光谱传感器LISS4和LISS3,以及高级广角传感器AWIFS.LISS3传感器具有四个光谱波段分别位于可见光.近红外与短波红外区域,空 ...

  5. 在centos上安装mysql5.7的三种方法

    带OS信息的是已编译的二进制文件,不带OS信息的是源码包 mysql-5.7.14-linux-glibc2.5-x86_64.tar.gz 二进制包 mysql-5.5.51.tar.gz 源码包 ...

  6. EnCase v.s. FTK - find out Chinese characters writing in different direction

    A friend of mine said to me that she could fool those forensic tools easily by changing writing dire ...

  7. DELL服务器SAS 5 I_R 完全配置手册

    http://wenku.baidu.com/view/f258a36eb84ae45c3b358c55.html?re=view

  8. javaSE第四天

    第四天    18 1. switch语句(掌握)    18 (1)格式:    18 (2)面试题    19 (3)执行流程:    19 (4)注意事项:    19 (5)案例:    19 ...

  9. cpack

    一. 简介 CPack是CMake 2.4.2之后的一个内置工具,主要作用就是生成制定类型的安装包.它可以脱离cmake单独运行. 二. 基本设置 (mandatory) 设置包类型set(CPACK ...

  10. css 强制不换行

    强制不换行 div{white-space:nowrap;} 自动换行 div{ word-wrap: break-word; word-break: normal; } 强制英文单词断行 div{w ...