斯维·夫特(Sw·ift)语言指南(2)


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

考虑到本文档内项目收录部分或者过于杂碎,由此,站在私有的角度,额外整理了一份《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用斯威夫特重写的网络基础库
    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就理解其实用程度。它是一套函数化编程的工具库。另一个看似的更完整的本子是ExSwift,它的贯彻基于对象化扩张的。
    • ExSwift:
      实用类扩张库。另一个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和斯威·夫特(S·wift)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
      斯维夫特语言版二维码识别及生成类库。
    • SwiftP2P/SwiftSSL:常用
      Digest 和 HMAC
      的卷入。如此包装后,使用加密算法确实很方便。很不错的一个国产”轮子”!By
      @你全家都快到碗里来
    • Hearst-DD/ObjectMapper:对象与JSON互转实用类库。须求的同学可以收一下。
    • DaveWoodCom/XCGLogger

      那是一款功能相比完善日志输出框架(Log4斯维·夫特(Sw·ift))。从前推荐过一款类似的
      hubertr/Swell,但它的出力显著没有那款强大。
    • isair/JSONHelper
      :又一款JSON转对象类库,算上,lingoer/斯维夫特yJSON,owensd/json-swift,gfx/斯维·夫特(Sw·ift)-JsonSerializer,已经有四款了。同学们依据喜好及要求,择优使用啊。
    • kylef/Stencil:通过在模板中协理if,
      for, ifnot 等语法标签,落成更强劲、更灵敏的数码及格式输出。
    • kylef/PathKit
      简单、实用的文本路径操作类,常用效能一个也不少。
    • thoughtbot/Argo:一个暗含实战表达的JSON解析方案及类库。
    • typelift/swiftz
      一个拉扯完结函数式编程的类库,定义了一多元相应的数据结构。
    • dongri/OAuthSwift:斯威夫特版OAuth(1/2)授权类库。对于小编提供的API,看着清爽,用着方便。
    • p2/OAuth2:独立又纯粹的OAuth2认证授权类库,作者所提供的以身作则及流程说孙吴楚又简单。
    • tadija/AEXML:不难又不难使用的XML解析类。小编提供了一体化的演示程序。
    • duemunk/Async:一个后台执行代码封装库,它可以让您的后台代码封装语法更简短。
    • jquave/EasyCast:那是一个机动强制转换操作符左右档次及常用数学函数参数类型无障碍使用的类库。@onevcat多少个月前也写过类似成效库
      onevcat/Easy-Cal-Swift,然则,停滞更新很久了。
    • ArtSabintsev/Siren:当使用立异时,文告用户并提供App
      Store链接供用户更新的开源库。P.S.
      该开发者也曾提供Objectvie-C语言版ArtSabintsev/Harpy
    • kishikawakatsumi/KeychainAccess:那套Keychain管理相比较完整。扶助当地使用,网络选择,以及与Touch
      ID的合一应用。
    • nori0620/SwiftFilePath:效能强大的文本及路径管理封装类库。
    • onevcat/RandomColorSwift:”刚刚开源了一个自动生成赏心悦目的水彩的
      斯威夫特 库,那是
      randomColor.js
      项目标 斯威夫特 移植版本。在念书 斯威夫特的童鞋不妨一看,倘使得以对此我们在 斯威·夫特(S·wift)实际运用中的某些概念和写法有所启迪的话就再好可是了。” By
      @onevcat
    • beltex/SMCKit:Mac
      系统管理控制器 SMC(System Management Controller)斯威夫特语言版封装库。通过此类库,不难的几行代码就可见 CPU
      温度,风扇转速,电池状态等硬件状态或活动状态。
    • radex/SwiftyUserDefaults:轻量级数据存储类
      NSUserDefaults 扩张类,它使项目数据访问和存储更为便捷、直观。
  • 图片

    • kaishin/ImageScout:最小网络代价获取图片大小(宽和高)及项目,它对于广大场面,比如:布局和排版都有积极性意义。
    • kaishin/gifu:高性能GIF显示类库斯威·夫特(S·wift)版本。
    • 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:斯威·夫特(S·wift)语言写的高功能缓存对象存储及管理,定义及运用简便、易于驾驭。援助为每个Cache对象设定缓存有效期。
    • daltoniam/Skeets:网络图片的取得、缓存及显示类库,扶助缓存的清理及时效性管理。
    • evermeer/EVCloudKitDao:一套使用Cloud基特(Kit)简单封装库。小编还提供了演示项目及顺序供开发者参考运用。
    • andrelind/Breeze:轻量
      CoreData 管理封装库。支持 iCloud 。
  • 远程访问

    • Minimalistic Swift HTTP request agent for iOS and OS
      X
      :
      一个简易、小巧、实用的HTTP请求斯威·夫特(S·wift)语言完结类(仅一个Agent.swift类)
    • lingoer/GRequest:”@李洁信:个人觉得AFNetworking那种较重的第三方网络库将逐步脱离舞台,而像楼主那种根据NSURLSession并足够利用斯维夫特特性写出来的小而美的库会受到更六人的珍重!”
      作者解读《GRequest for HTTP
      Request》
    • daltoniam/SwiftHTTP:
      Thin wrapper around NSURLSession in swift. Simplifies HTTP
      requests.感兴趣的可以看看代码,相比与lingoer/GRequest差距。
    • AshFurrow/Moya:
      如果你要求如此这般效果的斯维·夫特(Sw·ift)网络API,可以设想使用它。它基于Alamofire,
      swfitz等精美开源类达成。
    • aleclarson/emitter-kit:用EmitterKit代替NSNotificationCenter。这一个库貌似短小、精悍、实用的典范。更首假使语法精练。
    • daltoniam/starscream:斯威·夫特(S·wift)版本WebSocket客户端类库,帮忙iOS/OS
      X 。 使用方便,跨平台支付不可或缺的”轮子”。
    • shuoli84/SocketIOCocoa:又一款WebSocket实用客户端类库,作者提供了详尽的测试用例可以做为演示代码使用。
    • marcelofabri/BigBrother:网络请求活动状态监视器类。由于
      Alamofire 库并无此项特征,因而它可以做为 Alamofire
      的一个扩充功用。
  • 对峙网络

  • 框架

    • robb/Cartography:
      Set up your Auto Layout constraints declaratively.
      那是有关活动布局约束一个实用的斯维夫特项目,代码看似不难清晰,然则是因为设计巧妙。代码解读
      By @kaiyuz
    • railsware/Sleipnir:一个根据斯维夫特的行为使得开发框架(BDD-style
      framework)。API安装,示例及表达相对相比较齐全。
    • Quick/Quick:另一款基于斯维·夫特(Sw·ift)的一言一动使得开发框架。
    • inamiy/SwiftTask
      一个很正式的天职及其生命周期管理类库。作者还附上了一个基于Alamofire库达成的网络文件下载的职分管理示范。
    • inamiy/SwiftState:斯维夫特版本State
      Machine,那是斯威夫特Task的姐妹篇。开发过Workflow类应用的同校有没有很亲切。
    • colemancda/NetworkObjects:基于斯威·夫特(S·wift)的轻量版HttpServer框架,可以做为iOS/OS
      X分布式对象的代表。可惜紧缺演示或演示代码。
    • Masonry/Snappy:一个基于AutoLayout封装,语法简洁的轻量级布局框架。当然,用代码依旧storyboard,全凭开发者喜好。若偏好可视化自动布局,@DevTalking
      的两篇译文值得参考《斯维夫特自适应布局教程》《为酷派6设计自适应布局》
    • jpsim/PeerKit:基于事件驱动的多端对等连接开源框架。小编提供了该零件使用案例jpsim/CardsAgainst,具体引用代码详见这里
    • Quick/Nimble:作用更强于Xcode自带测试框架(XCTest)的测试类库。
    • nghialv/MaterialKit:斯威夫特版GoogleMaterial
      Design组件库。即便个人并不引进在iOS平台上行使非iOS风格界面,然则,对于Android焦虑症“患者”,多一种拔取也是协调的。顺带附上谷歌(Google)提供的开源Material
      Design图标集
      ,可以同步收入。
    • facebook/AsyncDisplayKit:它是由Facebook开发并用于其Paper应用的iOS
      UI框架,它最首要解决问题是提供界面的高流畅性切换及更灵活的响应,解决思路是将部分UI渲染及复杂统计交由独立于主线程的处理程序负责。中译教程《AsyncDisplay基特(Kit)教程 – 达到 60 FPS
      的轮转帧率

      By
      @nixzhu》,教程原文《AsyncDisplayKit
      Tutorial: Achieving 60 FPS
      scrolling
      》。
    • mutualmobile/MMWormhole:提供了iOS应用与恢弘之间的音讯传递,其最有价值之处当属HTC与沃·特(W·at)ch间的音讯传递,从而完成互动操控的机能。
    • Thomvis/BrightFutures:漫长或复杂统计由独立线程异步来已毕。
    • Khan/Prototope:固然看不懂那套用户交互层面的轻量级原型框架用处在哪个地方(哪位同学能给俺提醒一下)?可是,小编将那套框架的
      斯维夫特 API完整桥接为 JS 接口倒是很有趣。
  • UI组件

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

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

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

  • FlappySwift:
    用斯威夫特语言完成的 FlappyBird
  • 天气预告iOS项目:
    新界面还不错,不难,还带点卡通的寓意
  • tnantoka/edhita:edhita是一款用斯维夫特重写并完全开源的文书编辑器。AppStore上曾经有更新版下载。试用后觉得还不错。它甚至协助马克(Mark)down,
    HTML等公事编制后的预览突显。
  • jurre/TravisToday:一个成效相对完整的劳动于Travis
    CI系统的OS X应用扩充Today项目案例。
  • stakes/Frameless:一款基于WKWebView的最小化全屏浏览器,首要意义是有利开发者接纳HTML5做原型设计或App公布。对于测试工程师或喜欢极简、全屏浏览用户,可以直接在AppStore下载使用。
  • mozilla/firefox-ios:斯维夫特写的iOS版Firefox。P.S.
    第三方库用到了Alamofire, Snappy,
    swift-json等,内置阅读器还使用了Readability。
  • lexrus/VPNOn:一款驻在公告中央内的依照Today扩充的VPN开关应用。
  • victor/whereami:一款用斯维·夫特(Sw·ift)语言写的通过命令行获得当前装备地理地点程序。即便很粗略,不过,实用性及学习性俱佳。
  • Ahmed-Ali/RealmObjectEditor:Realm数据库
    斯维·夫特(Sw·ift)版开源编辑器。提供针对性实体,属性及关联的编排效率,达成后方可将实体结构导出为斯维·夫特(Sw·ift),
    Objective-C 或 Java 类模型。十分实用。

<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上一个可高度自定义的编辑器,尤其在自我想做出一个高效变动但又不想等待Xcode加载的时候。该工具方今早已开源
  • Mou:OS
    X上一款马克(Mark)down的编辑器。非凡适用于编写自述文件、变更日志以及任何地点的情节。小编:罗晨
  • Sublime Text
    ($)
    :Mac OS
    X上另一款越发受欢迎的轻量级,可低度自定义的编辑器。
  • RunSwift:正在犹豫是否动手苹果电脑开始一段斯维夫特编程旅程的同校们,或仅仅为了试验一段简单斯维夫特代码又懒得打开Xcode,可以试试那款Web版斯维·夫特(Sw·ift)编译环境Run斯维·夫特(Sw·ift)。
  • InfinitApps –
    Bezel
    :“嫌
    Xcode 6 近日提供的 沃·特(W·at)ch 模拟器不够直观?Bezel 是一个用来视觉预览
    沃特chKit 所开发顺序效果的小工具,前提是您安装了 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
    ($)
    :一个Mac
    OS X 上FTP客户端,有着充裕非凡的用户界面和实用的功效。

5. 调剂工具

6. 参考著作

  • iOS开发工具:
    “那是大家多篇iOS开发工具种类篇中的一篇,从前的文章比如:那些不能错过的Xcode插件,iOS开发者有价值的工具集,iOS/OS
    X开发:各个工具快到碗里来!,App原型设计工具使用体验(上)&
    App原型设计工具使用体验(下),你用哪一种工具举行iOS
    app自动化成效测试?,iOS 开发者必知的 75 个工具” By @CocoaChina
网站地图xml地图