斯维夫特语言指南


<a id=”swift_projects”></a>Swift项目

设想到本文档内项目收音和录音部分可能过于杂碎,由此,站在个人的角度,额外整理了一份《斯维夫特开源项目选拔》,做已选定项目做了八个识别、筛选。当然,由于个人能力及参预范围所限,还远远不够,当中必然有不公及不足,还望同学们何其原谅。更希望能获取你的佑助和补充,共同参预。

<a id=”open_api”></a>1. 实用类库

以下实用类库做为快捷参考,越来越多实用类库需要,也能够去那里(Swift
toolbox is a community-supported catalog
of iOS and OSX
libraries)

(By Adam
Leonard

from
swiftcast.tv),
这一个网站收藏了GitHub开源社区中上品斯维夫特财富库,并提供了分类及查询服务。

  • Mattt
    Thompson
    :
    盛名开源作者,开发了享誉的AFNetworking网络库。也是有名开发博客NSHipster网站主。

    类库 | 相关小说 | 备注
    ———— | ————- | ————-
    Alamofire/Alamofire
    |
    Alamofire|
    为其出名的AFNetworking用Swift重写的网络基础库
    mattt/Euler
    | Swift
    Operators

    | 那样写是或不是很数学、很逻辑?∛27÷3±5, ∑[3,1,2], ~0⊻1
    mattt/Surge
    || 基于苹果Accelerate高质量计算框架库,总结作用升高惊人
    mattt/Literally|Swift
    Literal
    Convertibles
    |
    常用数据类型的采取及转换工具库

  • 工具类

    • Dollar:
      尤其在Array和Dictionary的协助上(达成类库仅三个Dollar.swift文件)。用过Javascript版的Lo-Dash或underscore就了然其实用程度。它是一套函数化编制程序的工具库。另1个好像的更完整的版本是ExSwift,它的完成基于对象化扩充的。
    • ExSwift:
      实用类扩张库。另1个Lo-Dash或underscore的斯威夫特版本达成,相对于Dollar.swift,此版本有更完整的API完毕。包蕴了对Array,
      Int, String, Float, Range, Dictionary,
      NSArray的壮大及其它实用方法。完全依照面向对象的扩充原则。
    • lingoer/SwiftyJSON:那是解析JSON字符串封装类。达成效益与Javascript中的JSON.parse相近,使用方便。By
      @lingoer
    • SwiftyJSON/Alamofire-SwiftyJSON
      :简单地整合Alamofire和斯维夫特yJSON后,远程JSON使用方便了。
    • typelift/Basis:这一个实用类库援助范围很宽范,封装主要以简化及便利调用系统API为主,使程序代码看上去更优雅。遗憾地是,近来小编并不曾提供API文档或演示代码,对于初学者使用会额外带来一丢丢上学开销。
    • owensd/json-swift:
      功用与斯维夫特y大致等同,使用上要更方便人民群众。
    • gfx/Swift-JsonSerializer:JSON解析又多了一种采纳。
    • Ahmed-Ali/JSONExport:一款实用工
      具,能够将JSON转换并出口为斯威夫特语言类模型(也补助Android上的Java),协理简单的定制。
    • hubertr/Swell
      同时接济斯维夫特和OBJC的Log实用类。喜欢Log4j风格的日记管理类的同桌能够收入。
    • RSBarcodes_Swift:
      “RSBarcodes allows you to read 1D and 2D barcodes using metadata
      scanning capabilities introduced with iOS 7 and generate the
      same set of barcode images for displaying and sharing.” By
      @yeahdongcn
      Swift语言版二维码识别及生成类库。
    • SwiftP2P/SwiftSSL:常用
      Digest 和 HMAC
      的卷入。如此包装后,使用加密算法确实很有利。很科学的一个进口”轮子”!By
      @你全家都快到碗里来
    • Hearst-DD/ObjectMapper:对象与JSON互转实用类库。要求的校友能够收一下。
    • DaveWoodCom/XCGLogger

      那是一款功用相比周详日志输出框架(Log4斯威夫特)。以前推荐过一款类似的
      hubertr/Swell,但它的法力鲜明没有那款强大。
    • isair/JSONHelper
      :又一款JSON转对象类库,算上,lingoer/斯威夫特yJSON,owensd/json-swift,gfx/Swift-JsonSerializer,已经有七款了。同学们依据喜好及须要,选择优秀者使用啊。
    • kylef/Stencil:通过在模板中帮助if,
      for, ifnot 等语法标签,达成更强劲、更灵活的数量及格式输出。
    • kylef/PathKit
      简单、实用的文书路径操作类,常用作用二个也不少。
    • thoughtbot/Argo:一个包罗实战表明的JSON解析方案及类库。
    • typelift/swiftz
      二个增派完结函数式编制程序的类库,定义了一二种相应的数据结构。
    • dongri/OAuthSwift:Swift版OAuth(一半)授权类库。对于小编提供的API,看着舒心,用着方便。
    • p2/OAuth2:独立又纯粹的OAuth2认证授权类库,作者所提供的演示及流程说西楚楚又不难。
    • tadija/AEXML:简单又便于使用的XML解析类。笔者提供了整机的演示程序。
    • duemunk/Async:多少个后台执行代码封装库,它能够让您的后台代码封装语法更简单。
    • jquave/EasyCast:那是1个活动强制转换操作符左右品种及常用数学函数参数类型无障碍使用的类库。@onevcat多少个月前也写过类似功用库
      onevcat/Easy-Cal-Swift,不过,停滞更新很久了。
    • ArtSabintsev/Siren:当使用革新时,布告用户并提供App
      Store链接供用户更新的开源库。P.S.
      该开发者也曾提供Objectvie-C语言版ArtSabintsev/Harpy
    • kishikawakatsumi/KeychainAccess:那套Keychain管理相比完好。援助本地使用,网络使用,以及与Touch
      ID的购并应用。
    • nori0620/SwiftFilePath:功用强大的公文及路径管理封装类库。
    • onevcat/RandomColorSwift:”刚刚开源了八个自动生成雅观的颜料的
      Swift 库,那是
      randomColor.js
      项指标 Swift 移植版本。在上学 Swift的童鞋不妨一看,要是得以对此豪门在 Swift实际使用中的有些概念和写法有所启迪的话就再好不过了。” By
      @onevcat
    • beltex/SMCKit:Mac
      系统一管理控器 SMC(System Management Controller)斯威夫特语言版封装库。通过此类库,不难的几行代码就可见 CPU
      温度,电扇转速,电池状态等硬件状态或活动状态。
    • radex/SwiftyUserDefaults:轻量级数据存款和储蓄类
      NSUserDefaults 扩大类,它使项目数据访问和储存更为便利、直观。
  • 图片

    • kaishin/ImageScout:最小网络代价获取图片大小(宽和高)及项目,它对于广大场面,比如:布局和排版都有积极性意义。
    • kaishin/gifu:高质量GIF呈现类库斯维夫特版本。
    • indragiek/DominantColor:接纳YUV色域编码规则及K均值聚类算法提取图片代表色开源项目。很实用,绝对的赞!
    • iSame7/Panoramic:该类型经过Core
      Motion达成了转移角度移入手提式有线电话机时,使图片展现发生对应地方及角度的变换。从而完结了独具现场感的图片浏览功效。
    • gavinbunney/Toucan:小而美的图样变换及处理类(援救:resize,
      clip, crop, scale, Ellipse Mask, Rounded Rect Mask, Image
      Mask)。功能略有超预期的觉得。
    • schwa/SwiftGraphics:三个易学、易用的绘图工具库封装。小编很艰难,项目正在不停更新中。
  • 存储

    • SQLiteDB in
      Swift
      :
      “This is a basic SQLite wrapper for Swift. It is very simple at
      the moment and does not provide any advanced functionality.
      Additionally, it’s not pure Swift at the moment due to some
      difficulties in making all of the necessary sqlite C API calls
      from Swift.”
    • Realm – a mobile
      database
      :
      Realm主打活动数据库。除了更轻量,甚至还能运用到可穿戴。低耦、面向对象的安排风格也是那么些亮丽的。
    • nerdyc/Squeal:一套相当健全的SQLite数据库访问API,无论建库,建表,CRUD等常用数据库操作命令都进行了很好的包裹,别的,版本管理、事务管理、并发管理、命令执行及Prepare
      Statement等都提供对应援助。它是一套不足多得的SQLite管理访问库。
    • stephencelis/SQLite.swift:不难、轻量,或是使用上最SQL的SQLite封装库。
    • BjornRuud/Swiftache:
      Mustache的斯维夫特语言达成版本。
    • Haneke/HanekeSwift:貌似那些轻量地带缓存图片组件还不易。首要意义蕴涵图形二级缓存、异步加载、后台执行、自动缩放等。感兴趣的同学能够试用一下。
    • SugarRecord/SugarRecord:相对于SQL,CoreData可以更有益、高效存款和储蓄数据,而SugarRecord类库能够让你更便利的选取CoreData,同时作者曾经封装好iCloud,使你的使用开发更锦上添花。
    • michaelarmstrong/SuperRecord

      斯维夫特版CoreData框架扩大类库。相对于同系列CoreData框架库SugarRecord/SugarRecord
      http://t.cn/RhYLS4n
      ,SuperRecord要简明、轻量得多。很棒的短平快支付类库。
    • aschuch/AwesomeCache:斯维夫特语言写的高功用缓存对象存款和储蓄及管制,定义及使用简便、易于了然。帮衬为各类Cache对象设定缓存有效期。
    • daltoniam/Skeets:网络图片的收获、缓存及展示类库,协理缓存的清理及时效性管理。
    • evermeer/EVCloudKitDao:一套使用CloudKit简单封装库。作者还提供了示范项目及程序供开发者参考运用。
    • andrelind/Breeze:轻量
      CoreData 管理封装库。支持 iCloud 。
  • 长途访问

    • Minimalistic Swift HTTP request agent for iOS and OS
      X
      :
      3个简约、小巧、实用的HTTP请求斯威夫特语言达成类(仅1个Agent.swift类)
    • lingoer/GRequest:”@李洁信:个人认为AFNetworking那种较重的第1方网络库将渐次脱离舞台,而像楼主那种依照NSULX570LSession并充裕利用Swift本性写出来的小而美的库会受到更多少人的推崇!”
      作者解读《GRequest for HTTP
      Request》
    • daltoniam/SwiftHTTP:
      Thin wrapper around NSU景逸SUVLSession in swift. Simplifies HTTP
      requests.感兴趣的能够看看代码,比较与lingoer/GRequest差异。
    • AshFurrow/Moya:
      假若你需求这么效果的斯威夫特互联网API,能够考虑动用它。它基于Alamofire,
      swfitz等优秀开源类完结。
    • aleclarson/emitter-kit:用Emitter基特代替NSNotificationCenter。那几个库貌似短小、精悍、实用的规范。更器重是语法精练。
    • daltoniam/starscream:斯维夫特版本WebSocket客户端类库,援助iOS/OS
      X 。 使用方便,跨平台支付不可或缺的”轮子”。
    • shuoli84/SocketIOCocoa:又一款WebSocket实用客户端类库,笔者提供了详尽的测试用例可以做为示范代码使用。
    • marcelofabri/BigBrother:互联网请求活动状态监视器类。由于
      Alamofire 库并无此项特征,因而它能够做为 Alamofire
      的3个恢弘功用。
  • 交际互连网

  • 框架

    • robb/Cartography:
      Set up your Auto Layout constraints declaratively.
      那是有关活动布局约束一个实用的Swift项目,代码看似简单清晰,可是鉴于设计巧妙。代码解读
      By @kaiyuz
    • railsware/Sleipnir:1个基于斯威夫特的一言一行使得开发框架(BDD-style
      framework)。API安装,示例及表达相对相比完备。
    • Quick/Quick:另一款基于斯威夫特的行事使得开发框架。
    • inamiy/SwiftTask
      2个很专业的任务及其生命周期管理类库。笔者还附上了多少个基于Alamofire库实现的互联网文件下载的天职管理示范。
    • inamiy/SwiftState:斯威夫特版本State
      Machine,那是SwiftTask的姐妹篇。开发过Workflow类应用的同校有没有很亲密。
    • colemancda/NetworkObjects:基于斯维夫特的轻量版HttpServer框架,能够做为iOS/OS
      X分布式对象的替代。可惜贫乏演示或示范代码。
    • Masonry/Snappy:1个基于AutoLayout封装,语法简洁的轻量级布局框架。当然,用代码依然storyboard,全凭开发者喜好。若偏好可视化自动布局,@DevTalking
      的两篇译文值得参考《Swift自适应布局教程》《为华为6设计自适应布局》
    • jpsim/PeerKit:基于事件驱动的多端对等延续开源框架。小编提供了该器件使用案例jpsim/CardsAgainst,具体引用代码详见这里
    • Quick/Nimble:功用更强于Xcode自带测试框架(XCTest)的测试类库。
    • nghialv/MaterialKit:Swift版谷歌(Google)Material
      Design组件库。就算个人并不推荐在iOS平台上运用非iOS风格界面,但是,对于Android磨牙“伤者”,多一种接纳也是祥和的。顺带附上谷歌提供的开源Material
      Design图标集
      ,能够一起收入。
    • facebook/AsyncDisplayKit:它是由Facebook开发并用于其Paper应用的iOS
      UI框架,它根本消除难题是提供界面包车型地铁高流畅性切换及更灵活的响应,化解思路是将一部分UI渲染及复杂总结交由独立于主线程的处理程序负责。中译教程《AsyncDisplayKit殊教育程 – 达到 60 FPS
      的轮转帧率

      By
      @nixzhu》,教程原作《AsyncDisplayKit
      Tutorial: Achieving 60 FPS
      scrolling
      》。
    • mutualmobile/MMWormhole:提供了iOS应用与扩充之间的音讯传递,其最有价值之处当属Motorola与沃特ch间的音讯传递,从而实现互相之间操控的成效。
    • Thomvis/BrightFutures:漫长或复杂总括由独立线程异步来形成。
    • Khan/Prototope:尽管看不懂那套用户交互层面的轻量级原型框架用处在哪儿(哪位同学能给笔者提示一下)?不过,笔者将那套框架的
      Swift API完整桥接为 JS 接口倒是很有趣。
  • UI组件

    • jcavar/refresher:一个常用的下拉即刷新列表工具类,提供开放接口定制刷新动态转换效果。
    • ariok/BWWalkthrough:让您的页面切换动起来,示例效果杠杠的。小编还提供了相比较完整的付出文书档案及示范演讲。
    • vikmeup/SCLAlertView-Swift:
      动画成效弹出框封装库(管理于CocoaPods),使用也丰富便利。试着运转了弹指间,效果还行。
    • varshylmobile/MapManager:地图管理封装库(默许协理谷歌和Apple地图服务)。
    • varshylmobile/LocationManager:地方管理封装库(暗中同意帮助Google和Apple地图服务)。
    • ortuman/SwiftForms:这一个表单递交库简单实用,协助至关心珍视要数据类型及定制。急迅支付利器。
    • kentya6/KYCircularProgress:这些历程条类库完成及利用都很简单,帮助进度路径的定制,灵活方便。
    • coolbeet/CBStoreHouseRefreshControl:这几个下拉刷新库,提供完全可定制进程变换效果,且极具艺术感。提出有力量的同学把Objective-C版本改写为Swift版本。
    • kevinzhow/PNChart-Swift:PNChart的Swift版实现。PNChart
      http://t.cn/zRWXJCZ
      是饼图、折线图、柱状图等常用可视化图表工具类库。开发者:@周楷雯Kevin
    • codestergit/SweetAlert-iOS:该弹窗控件设计简单直接,成效完全,动画效果相当。实在不足多得,必须收音和录音。
    • Ramotion/animated-tab-bar:一款灵动的动画标签栏类库。可在storyboard中一向动用,卓殊有利。Demo效果非常优良。一连四日GitHub分类排名第3,且神速过600星。它的代码并非复杂或尤其,相信大家中意它的如故其设计感。
    • Ramotion/paper-switch:类库完成了当Switch组件开/关怀换时,平滑对接到父视图的更换效果功用(宗旨类继承了UISwitch)。P.S.
      该开发者也是这几天热门项目 Ramotion/animated-tab-bar 的小编。
    • FahimF/FloatLabelFields
      基于”Float Label
      Pattern
      “的内嵌浮动标签输入效果斯威夫特版完毕类库。
    • cemolcay/ReorderableGridView:能够拖拽排列Grid框格的UI组件。作用表明完整,使用方便,应该是多个不利的UI”轮子”。
    • zhxnlai/ZLBalancedFlowLayout:2个由此调整cell大小来使用空间的UICollectionViewFlowLayout子类。
    • uacaps/PageMenu:分页式菜单控制及动态页视图切换。那款控件比较实用,且提供
      CocoaPods 安装。
    • Jan0707/SwiftColorArt:依照图片色系决定所在界面背景象及字体展现颜色。类库及示范代码也很不难且便于使用。那样的品类实在带给本身惊艳。何况,该开发者备注了那是他的率先个斯维夫特项目。
    • Yalantis/Side-Menu.iOS:一款推动画作用可定制
      Slide Menu,能够学习其动画完结思路。P.S. 对于 Hamburger
      式菜单,纵然很常用,然则,苹果并不鼓励利用,甚至有付出小组对其弊端用自笔者上线应用前后数据相比较拓展了攻击,仅做参考。
    • Mozharovsky/CVCalendar:开源
      斯威夫特版日历组件及示范。该品种开发者丰裕应用了面向对象设计思想,让开发者可以更易于扩展及定制效能。同时,该开发者还提供了详尽的组件使用方式(Storyboard和代码形式指南)。
    • dekatotoro/SlideMenuControllerSwift:那是3个侧滑菜单弹窗
      UI
      组件,它提供莫斯中国科学技术大学学可定制参数及全部示例。其余,组件代码集中,易用,仅1个主干类
      SlideMenuController.swift
    • rhcad/ShapeAnimation-Swift:作用强大、使用不难的矢量动画框架。协理多层级,多形态,渐变以及各样大规模的动画变化意义。绘图大旨基于该小编另2个以来非常流行的开源项目
      schwa/SwiftGraphics
    • raulriera/TextFieldEffects:具有不一样输入风格及变更效果的价签和文本框组件库。它的原型来自
      codrops
      的 JS/CSS 项目。P.S. 笔者一度还引进过另一款基于 “Float Label
      Pattern” 风格相近项目
      FloatLabelFields,与之相同能够。
    • MengTo/Spring:不仅拥有极简制作动画的
      API ,还提供 德姆o 界面调节和测试动画成效,并转移对应代码。建议同学们在
      Xcode
      中运营经验贰次,相信这些开源项目丰富让你惊艳。已将其收入《斯威夫特开源项目接纳》。
    • icanzilb/SwiftSpinner:这些图像和文字结合进度条效益完全,全部效益还很酷。当然,使用也不会细小略。值得收音和录音。
    • michaelbabiy/RMParallax:在采取运维时,提供不难救助向导步骤的界面组件及示范程序。

<a id=”examples”></a>2. 示范项目

<a id=”projects”></a>3. 完完全全项目

  • FlappySwift:
    用斯威夫特语言实现的 FlappyBird
  • 天气预告iOS项目:
    新界面还不易,简单,还带点卡通的味道
  • tnantoka/edhita:edhita是一款用Swift重写并完全开源的文本编辑器。AppStore上一度有更新版下载。试用后感觉到还不易。它如故扶助马克down,
    HTML等文件编写后的预览显示。
  • jurre/TravisToday:四个效果相对完整的劳动于Travis
    CI系统的OS X应用扩张Today项目案例。
  • stakes/Frameless:一款基于WKWebView的最小化全屏浏览器,重要效能是便利开发者选择HTML5做原型设计或App发表。对于测试工程师或喜欢极简、全屏浏览用户,能够直接在AppStore下载使用。
  • mozilla/firefox-ios:斯维夫特写的iOS版Firefox。P.S.
    第1方库用到了Alamofire, Snappy,
    swift-json等,内置阅读器还使用了Readability。
  • lexrus/VPNOn:一款驻在文告宗旨内的依照Today扩展的VPN开关应用。
  • victor/whereami:一款用Swift语言写的通过命令行获得当前设备地理地点程序。尽管很不难,不过,实用性及学习性俱佳。
  • Ahmed-Ali/RealmObjectEditor:Realm数据库
    斯维夫特版开源编辑器。提供针对性实体,属性及涉嫌的编辑撰写成效,完毕后方可将实体结构导出为斯维夫特,
    Objective-C 或 Java 类模型。卓殊实用。

必发bifa88手机客服端,<a id=”project_reviews”></a>3. 档次测验评定

  • 【Workflow 测验评定】Workflow
    是款什么样软件?
    (作者:@JailbreakHum):”除了圣诞降价以外近日最火的软件话题应当是#Workflow#了。若是您没接触过此类软件,或然会可疑它有啥魔力。大家针对那款软件的测验评定种类的率先篇正是来向你概述它是什么软件的,所以文中给出大多是基本知识,可是相信也会给老手一定的启迪。”

<a id=”recomm_sites”></a>Swift网站


<a id=”tools”></a>相关工具

1. 开发工具

  • Xcode 6
    beta下载
    :
    苹果应用集成开发条件。帮忙C/C++, Objective C,
    斯威夫特等。不用购买开发者布置,直接下载。
  • Textmate:Mac
    OS
    X上三个可中度自定义的编辑器,尤其在自身想做出1个飞快转移但又不想等待Xcode加载的时候。该工具近日早就开源
  • Mou:OS
    X上一款马克down的编辑器。极度适用于编写自述文件、变更日志以及其余方面包车型客车剧情。小编:罗晨
  • Sublime Text
    ($)
    :Mac OS
    X上另一款非凡受欢迎的轻量级,可高度自定义的编辑器。
  • RunSwift:正在犹豫是不是入手苹果电脑伊始一段斯威夫特编制程序旅程的同班们,或单独为了考试一段不难Swift代码又懒得打开Xcode,可以尝试那款Web版Swift编写翻译环境Run斯维夫特。
  • InfinitApps –
    Bezel
    :“嫌
    Xcode 6 近期提供的 Watch 模拟器不够直观?Bezel 是八个用以视觉预览
    WatchKit 所支付顺序效果的小工具,前提是你安装了 xScope
    软件(Mac端)或 xScopeMirror(一加端)。 By
    @WatchKit开发

2. 代码管理

  • GitHub:声望日盛的能源分享之地。�
  • GitHub for
    Mac
    :三个设计的可怜优异的git客户端,不能够代替你从命令行获得的保有机能,但利用起来分外简单。
  • GitCafe:GitCafe is
    a source code hosting service based on version control system
    Git。国内的代码托管服务,基于 Git,值得一提的是如今也生产了和 GitHub
    Pages 类似的劳务 Gitcafe Pages。因为是在境内,所以相比较 GitHub
    有速度优势,在互联网环境差的情景下可能能够用作 GitHub 的备用。
  • Bitbucket:国外的代码托管服务,分歧于
    GitHub 的是,Bitbucket 可避防费建立 private 项目。
  • Git:分布式版本控制系统和源码管理体系,其独到之处是:快和省略易用。对于新手来说,可在此查看免费电子书籍。

3. Xcode插件

4. 管理工科具

  • HomeBrew:OS
    X上特别美艳的包管理工科具。
  • Transmit
    ($)
    :3个Mac
    OS X 上FTP客户端,有着相当不错的用户界面和有效性的机能。

5. 调剂工具

6. 参考小说

  • iOS开发工具:
    “那是我们多篇iOS开发工具种类篇中的一篇,从前的篇章比如:那多少个无法错过的Xcode插件,iOS开发者有价值的工具集,iOS/OS
    X开发:各类工具快到碗里来!,App原型设计工具使用体验(上)&
    App原型设计工具使用体验(下),你用哪类工具进行iOS
    app自动化功用测试?,iOS 开发者必知的 75 个工具” By @CocoaChina

相关文章