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. ios开发错误笔记

    今天的奇葩错误,最后解决方式是删除了手机上面的快捷方式,然后再clean,然后再重启了xcode.无语了,xcode也经常出些奇葩问题,真无语啊. ios技术交流群:378501081..期待你加入. ...

  2. Oracle笔记 七、PL/SQL 异常处理

    --异常处理 declare sNum number := 0; begin sNum := 5 / sNum; dbms_output.put_line(sNum); exception when ...

  3. C#委托零基础理解

    C#委托零基础理解(转) 1,  为什么使用委托  2.什么是委托  3.委托如何使用 为什么使用委托? 委托是c#中非常重要的一个概念,使用委托使程序员可以将方法引用封装在委托对象内.然后可以将该委 ...

  4. Oracle 11g 客户端 下载地址

    摘自: http://blog.csdn.net/davidhsing/article/details/8271845 Oracle Database Instant Client 11g 11.2. ...

  5. 【EF学习笔记03】----------使用原生Sql语句

    在EF中使用原生SQL,首先要创建上下文对象 using (var db = new Entities()) { //数据操作 } 新增 string sql = "insert into ...

  6. Becoming a Hacker...

    This is my dream... http://catb.org/~esr/faqs/hacker-howto.html 黑客的精神 世上仍有大量迷人的事情等待解决 同样的问题不应被重复处理两次 ...

  7. -webkit-filter属性用来干什么

    这两天有看到国外网站纷纷介绍-webkit-filter,开始很迷惑,丫是想要学IE吗?今天看了下,和IE的滤镜没一毛关系啊,而且,效果很赞! 这些滤镜效果最初是用于SVG的,W3C引入到CSS中,然 ...

  8. POJ C++程序设计 编程题#1 编程作业—继承与派生

    编程题#1 来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩.) 注意: 总时间限制: 1000ms 内存限制: 65536kB 描述 写一个MyStr ...

  9. CentOS下修复grub引导程序

    1.早上装系统,试了好几次.最终grub修复成功! 解决方法大致如下: 开机遇见 grub>的时候 下面看解决方法 首先是既然插上U盘能进系统  那我们插上U盘 正常进入系统  然后看操作 [r ...

  10. Eclipse HibernateTools安装

    Hibernate Orm是个很强大的东东,可以将数据表映射成实体,EClipse安装了HibernateTools插件后可以生成pojo,配置xml等一系列自动化工作,为我们的开发减轻了很多. 下面 ...