<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开源社区中优质Swift资源库,并提供了分类及查询服务。
-
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就知道其实用程度。它是一套函数化编程的工具库。另一个类似的更完整的版本是ExSwift,它的实现基于对象化扩展的。
- ExSwift: 实用类扩展库。另一个Lo-Dash或underscore的Swift版本实现,相对于Dollar.swift,此版本有更完整的API实现。包括了对Array, Int, String, Float, Range, Dictionary, NSArray的扩展及其它实用方法。完全遵循面向对象的扩展原则。
- lingoer/SwiftyJSON:这是解析JSON字符串封装类。实现功能与Javascript中的JSON.parse相近,使用方便。By @lingoer
- SwiftyJSON/Alamofire-SwiftyJSON :简单地整合Alamofire和SwiftyJSON后,远程JSON使用方便了。
- typelift/Basis:这个实用类库支持范围很宽范,封装主要以简化及方便调用系统API为主,使程序代码看上去更优雅。遗憾地是,目前作者并没有提供API文档或示例代码,对于初学者使用会额外带来一点点学习成本。
- owensd/json-swift: 功能与Swifty几乎一致,使用上要更方便。
- gfx/Swift-JsonSerializer:JSON解析又多了一种选择。
- Ahmed-Ali/JSONExport:一款实用工 具,可以将JSON转换并输出为Swift语言类模型(也支持Android上的Java),支持简单的定制。
- hubertr/Swell: 同时支持Swift和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 : 这是一款功能比较健全日志输出框架(Log4Swift)。之前推荐过一款类似的 hubertr/Swell,但它的功能明显没有这款强大。
- isair/JSONHelper :又一款JSON转对象类库,算上,lingoer/SwiftyJSON,owensd/json-swift,gfx/Swift-JsonSerializer,已经有四款了。同学们根据喜好及需求,择优使用吧。
- kylef/Stencil:通过在模板中支持if, for, ifnot 等语法标签,实现更强大、更灵活的数据及格式输出。
- kylef/PathKit: 简单、实用的文件路径操作类,常用功能一个也不少。
- thoughtbot/Argo:一个带有实战说明的JSON解析方案及类库。
- typelift/swiftz: 一个帮助实现函数式编程的类库,定义了一系列相应的数据结构。
- dongri/OAuthSwift:Swift版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:"刚刚开源了一个自动生成好看的颜色的 Swift 库,这是 randomColor.js 项目的 Swift 移植版本。在学习 Swift 的童鞋不妨一看,如果可以对于大家在 Swift 实际使用中的某些概念和写法有所启迪的话就再好不过了。" By @onevcat
- beltex/SMCKit:Mac 系统管理控制器 SMC(System Management Controller)Swift 语言版封装库。通过该类库,简单的几行代码就可知 CPU 温度,风扇转速,电池状态等硬件状态或活动状态。
- radex/SwiftyUserDefaults:轻量级数据存储类 NSUserDefaults 扩展类,它使类型数据访问和存储更为便捷、直观。
-
图片
- kaishin/ImageScout:最小网络代价获得图片大小(宽和高)及类型,它对于很多场合,比如:布局和排版都有积极作用。
- kaishin/gifu:高性能GIF显示类库Swift版本。
- 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的Swift语言实现版本。
- Haneke/HanekeSwift:貌似这个轻量地带缓存图片组件还不错。主要功能包括图片二级缓存、异步加载、后台执行、自动缩放等。感兴趣的同学可以试用一下。
- SugarRecord/SugarRecord:相对于SQL,CoreData可以更方便、高效存储数据,而SugarRecord类库可以让你更方便的使用CoreData,同时作者已经封装好iCloud,使你的应用开发更如虎添翼。
- michaelarmstrong/SuperRecord : Swift版CoreData框架扩展类库。相对于同类型CoreData框架库SugarRecord/SugarRecord http://t.cn/RhYLS4n ,SuperRecord要简单、轻量得多。很棒的快速开发类库。
- aschuch/AwesomeCache:Swift语言写的高效能缓存对象存储及管理,定义及使用简单、易于理解。支持为每个Cache对象设定缓存有效期。
- daltoniam/Skeets:网络图片的获取、缓存及显示类库,支持缓存的清理及时效性管理。
- evermeer/EVCloudKitDao:一套使用CloudKit简单封装库。作者还提供了示例项目及程序供开发者参考使用。
- andrelind/Breeze:轻量 CoreData 管理封装库。支持 iCloud 。
-
远程访问
- Minimalistic Swift HTTP request agent for iOS and OS X: 一个简单、小巧、实用的HTTP请求Swift语言实现类(仅一个Agent.swift类)
- lingoer/GRequest:"@李洁信:个人认为AFNetworking这种较重的第三方网络库将逐渐淡出舞台,而像楼主这种基于NSURLSession并充分利用Swift特性写出来的小而美的库会受到更多人的青睐!" 作者解读《GRequest for HTTP Request》。
- daltoniam/SwiftHTTP: Thin wrapper around NSURLSession in swift. Simplifies HTTP requests.感兴趣的可以看看代码,比较与lingoer/GRequest差别。
- AshFurrow/Moya: 如果你需要如此功能的Swift网络API,可以考虑使用它。它基于Alamofire, swfitz等优秀开源类实现。
- aleclarson/emitter-kit:用EmitterKit代替NSNotificationCenter。这个库貌似短小、精悍、实用的样子。更重要是语法精练。
- daltoniam/starscream:Swift版本WebSocket客户端类库,支持iOS/OS X 。 使用方便,跨平台开发不可或缺的"轮子"。
- shuoli84/SocketIOCocoa:又一款WebSocket实用客户端类库,作者提供了详细的测试用例可以做为示例代码使用。
- marcelofabri/BigBrother:网络请求活动状态监视器类。由于 Alamofire 库并无此项特性,因此它可以做为 Alamofire 的一个扩展功能。
-
社交网络
- lingoer/SwiftWeiboKit: "封装了整个OAuth2.0的授权流程,并提供了几个简便易用的请求方法"
- A Twitter framework for iOS & OS X written in Swift: 一套很完整的Twitter访问框架类库,支持iOS/OS X
-
框架
- robb/Cartography: Set up your Auto Layout constraints declaratively. 这是有关自动布局约束一个实用的Swift项目,代码看似简单清晰,不过由于设计巧妙。代码解读 By @kaiyuz
- railsware/Sleipnir:一个基于Swift的行为驱动开发框架(BDD-style framework)。API安装,示例及说明相对比较齐全。
- Quick/Quick:另一款基于Swift的行为驱动开发框架。
- inamiy/SwiftTask: 一个很标准的任务及其生命周期管理类库。作者还附上了一个基于Alamofire库完成的网络文件下载的任务管理示例。
- inamiy/SwiftState:Swift版本State Machine,这是SwiftTask的姐妹篇。开发过Workflow类应用的同学有没有很亲切。
- colemancda/NetworkObjects:基于Swift的轻量版HttpServer框架,可以做为iOS/OS X分布式对象的替代。可惜缺少演示或示例代码。
- Masonry/Snappy:一个基于AutoLayout封装,语法简洁的轻量级布局框架。当然,用代码还是storyboard,全凭开发者喜好。若偏好可视化自动布局,@DevTalking 的两篇译文值得参考《Swift自适应布局教程》和《为iPhone6设计自适应布局》。
- jpsim/PeerKit:基于事件驱动的多端对等连接开源框架。作者提供了该组件使用案例jpsim/CardsAgainst,具体引用代码详见这里。
- Quick/Nimble:功能更强于Xcode自带测试框架(XCTest)的测试类库。
- nghialv/MaterialKit:Swift版Google Material Design组件库。虽然个人并不推荐在iOS平台上使用非iOS风格界面,不过,对于Android强迫症“患者”,多一种选择也是友好的。顺带附上Google提供的开源Material Design图标集,可以一起收入。
- facebook/AsyncDisplayKit:它是由Facebook开发并用于其Paper应用的iOS UI框架,它主要解决问题是提供界面的高流畅性切换及更灵敏的响应,解决思路是将部分UI渲染及复杂计算交由独立于主线程的处理程序负责。中译教程《AsyncDisplayKit 教程 - 达到 60 FPS 的滚动帧率 By @nixzhu》,教程原文《AsyncDisplayKit Tutorial: Achieving 60 FPS scrolling》。
- mutualmobile/MMWormhole:提供了iOS应用与扩展之间的消息传递,其最有价值之处当属iPhone与Watch间的消息传递,从而实现相互操控的功能。
- Thomvis/BrightFutures:漫长或复杂计算由独立线程异步来完成。
- Khan/Prototope:虽然看不懂这套用户交互层面的轻量级原型框架用处在哪里(哪位同学能给俺提示一下)?不过,作者将这套框架的 Swift API完整桥接为 JS 接口倒是很有意思。
-
UI组件
- jcavar/refresher:一个常用的下拉即刷新列表工具类,提供开放接口定制刷新动态变换效果。
- ariok/BWWalkthrough:让你的页面切换动起来,示例效果杠杠的。作者还提供了比较完整的开发文档及示例解说。
- vikmeup/SCLAlertView-Swift: 动画效果弹出框封装库(管理于CocoaPods),使用也足够方便。试着运行了一下,效果还不错。
- varshylmobile/MapManager:地图管理封装库(默认支持Google和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分类排名第一,且迅速过600星。它的代码并非复杂或特别,相信大家中意它的还是其设计感。
- Ramotion/paper-switch:类库实现了当Switch组件开/关切换时,平滑过渡到父视图的变换效果功能(核心类继承了UISwitch)。P.S. 该开发者也是这几天热门项目 Ramotion/animated-tab-bar 的作者。
- FahimF/FloatLabelFields: 基于"Float Label Pattern"的内嵌浮动标签输入效果Swift版实现类库。
- cemolcay/ReorderableGridView:可以拖拽排列Grid框格的UI组件。功能说明完整,使用方便,应该是一个不错的UI"轮子"。
- zhxnlai/ZLBalancedFlowLayout:一个通过调整cell大小来利用空间的UICollectionViewFlowLayout子类。
- uacaps/PageMenu:分页式菜单控制及动态页视图切换。这款控件比较实用,且提供 CocoaPods 安装。
- Jan0707/SwiftColorArt:根据图片色系决定所在界面背景色及字体显示颜色。类库及示例代码也很简洁且易于使用。这样的项目真的带给我惊艳。何况,该开发者备注了这是他的第一个Swift项目。
- Yalantis/Side-Menu.iOS:一款带动画效果可定制 Slide Menu,可以学习其动画实现思路。P.S. 对于 Hamburger 式菜单,虽然很常用,不过,苹果并不鼓励使用,甚至有开发小组对其弊病用自家上线应用前后数据对比进行了抨击,仅做参考。
- Mozharovsky/CVCalendar:开源 Swift 版日历组件及示例。该项目开发者充分使用了面向对象设计思想,让开发者可以更容易扩展及定制功能。同时,该开发者还提供了详细的组件使用方法(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. 示例项目
- 官方示例: "比起GitHub上的开源项目来说,官方的代码我觉得是更有参考价值的,比如Session 406的代码,Lister,就用一个Swift实现的包含OSX和iOS的" By @晨钰Lancy
- VirtualGS教程示例: 以下示例程序来源于林泰前老师微博或博客发布,为方便大家学习Swift编程,有幸获得林老师的准许在这里发布。
- Easy-Cal-Swift: "实在忍不了Swift的数字计算时候的好麻烦的强制转换了,重载了一下加减乘除之类的操作符,这样就不用显式地转换类型了...(对于像我这样现在连补全都没有的孩子来说,能省好多时间啊- -)" By @onevcat
- An app to list the available fonts on iOS: 用Swift语言调用UIKit,列出设备内所有字体名称的小程序。
- Swift版的知乎日报: 学习一门新语言,光看是没有用的,想要快速的掌握它,就得投入到真实项目的开发中,仿照@YANGReal 的糗事百科,做了一个Swift版的知乎日报
- Swift RSS Sample: 用Swift语言开发的RSS阅读器
- Swift版PM2.5的例子: 一个很好的Swift与Objective C协同工作GitHub开源项目。用到的开源类库有TFHpple: 以XPath方式解析HTML,SCLAlertView: 使用Swift写的AlertView SVProgressHUD 进度条 By @荧星诉语
- lexrus/LTMorphingLabel: 实现文字飘入飘出的效果。效果非常赞!
- android1989/CharacterText: 相比lexrus/LTMorphingLabel 的各种酷炫效果,这个版本比较简单实用。
- practicalswift/Pythonic.swift: 用Swift语言实现Python标准库的一部分。然后,用Swift写一段Python风格的程序,这是Python程序员想要的吗?相信这不过是一个实验,以此说明Swift语言的多变性、动态性的能力。
- AshRobinson/GoogleWearAlert: Swift语言实现模拟Google Wear风格Alert窗口。
- rafaelconde/ios8-ui-kit: IOS 8 UI KIT + FOR SKETCH — 最新IOS8免费设计资源
- gemtot/iBeacon: Swift版iBeacon简单项目(支持最新Beta 6编译)。感兴趣的同学可以学习一下。有关于Passbook应用及Passkit框架编程知识这里有一篇网友较早发布的《iOS 6 - PassKit编程指南》
- evnaz/ENSwiftSideMenu:一个简单的Slide侧拉菜单实现。使用很方便:sideMenu = SideMenu(sourceView: self.view, menuData: ["UIDynamics", "UIGestures", "UIBlurEffect"])
- iluuu1994/Pathfinder:一个有趣的算法类项目。虽然目前只是个演示项目,不过,作者有计划加入更多算法优化程序,同时,也有计划支持3D地图。
- KhaosT/HomeKit-Demo :HomeKit演示项目,可以与HomeKit模拟器协同工作。由此进一步思考:HomeKit配合iBeacon、蓝牙,甚至更具DIY潜力的树莓派(Raspberry Pi)组成未来家居智控中心,这个方向上的开发潜力巨大。感兴趣的同学可以关注一下。
- mathewsanders/Animated-Transitions-Swift-Tutorial: 结合Xcode开发步聚介绍如何开发动画过渡Prototyping Animatted Transition in Swift(Part I)](http://mathewsanders.com/custom-menu-transitions-in-swift/)
- mathewsanders/Custom-Menu-Transition-Swift-Tutorial: 结合Xcode开发步聚介绍如何开发动画过渡Transition in Swift(Part II)](http://mathewsanders.com/custom-menu-transitions-in-swift/)
- vandadnp/iOS-8-Swift-Programming-Cookbook:来自《 O'Reilly's iOS 8 Swift Programming Cookbook》的配套示例。书买不买另说,如此即时、完整、丰富的新书示例项目真不多见。悟性好的同学,开发时参考一下示例是不是就不用买书了?
- ide/UIVisualEffects:Swift实现模糊化等视觉效果示例代码。代码详见这里
- sxyx2008/FoodPin:如此完整的Swift示例项目,可以帮助学习到不少Swift编程技巧。"用Swift写的一个功能比较完善的App,参照Beginning iOS 8 Programming with Swift一书。功能比较完善。AutoLayout、Core Animation、Core Data、国际化等。" By @荧星诉语
- PhotoBrowser:"展示Instagram授权用户发布的照片的App,参考了Ray Wenderlich的Alamofire教程,还用了SwiftyJSON和FastImageCache。" By @Kyrrr
- dekatotoro/SlideMenuControllerSwift:这是一个侧滑菜单弹窗 UI 组件,它提供高度可定制参数及完整示例。另外,组件代码集中,易用,仅一个核心类 SlideMenuController.swift 。
- mslathrop/SwiftNote:一款简单的笔记应用及其Today插件。可惜开发者还不知道如何与iCloud进行数据同步,有兴趣的同学可以参与一下。
- gcollazo/mongodbapp:实现在Mac系统菜单栏上快捷启动/停止 MongoDB 的 Swift 项目。代码简单、易读,且核心代码全部在 AppDelegate.swift
- 441088327/SYKeyboardTextField:“开源一个我自己写的键盘附随输入框,为Swift做些贡献”。 作者:@余书懿
- dasdom/BreakOutToRefresh:下拉加载刷新时,嵌入了用 SpriteKit 框架写的有趣的小游戏播放页。P.S. 此例中作者嵌入的或许并没有让你耳目一新,甚至感到有点牵强,不过,若嵌入更合适的呢?
- eleks/rnd-apple-watch-tesla:Apple Watch 操作 Tesla 汽车。可惜是 Objective C 版本的,否则,Swift 同学又是一次很好的学习机会。
<a id="projects"></a>3. 完整项目
- FlappySwift: 用Swift语言实现的 FlappyBird
- 天气预报iOS项目: 新界面还不错,简单,还带点卡通的味道
- tnantoka/edhita:edhita是一款用Swift重写并完全开源的文本编辑器。AppStore上已经有更新版下载。试用后感觉还不错。它甚至支持Markdown, HTML等文件编辑后的预览显示。
- jurre/TravisToday:一个功能相对完整的服务于Travis CI系统的OS X应用扩展Today项目案例。
- stakes/Frameless:一款基于WKWebView的最小化全屏浏览器,主要功能是方便开发者采用HTML5做原型设计或App发布。对于测试工程师或喜欢极简、全屏浏览用户,可以直接在AppStore下载使用。
- mozilla/firefox-ios:Swift写的iOS版Firefox。P.S. 第三方库用到了Alamofire, Snappy, swift-json等,内置阅读器还使用了Readability。
- lexrus/VPNOn:一款驻在通知中心内的基于Today扩展的VPN开关应用。
- victor/whereami:一款用Swift语言写的通过命令行获得当前设备地理位置程序。虽然很简单,不过,实用性及学习性俱佳。
- Ahmed-Ali/RealmObjectEditor:Realm数据库 Swift 版开源编辑器。提供针对实体,属性及关系的编辑功能,完成后可以将实体结构导出为Swift, Objective-C 或 Java 类模型。非常实用。
<a id="project_reviews"></a>3. 项目评测
- 【Workflow 测评】Workflow 是款什么软件?(作者:@JailbreakHum):"除了圣诞降价以外最近最火的软件话题应当是#Workflow#了。如果你没接触过此类软件,或许会纳闷它有何魅力。我们针对这款软件的测评系列的第一篇就是来向你概述它是什么软件的,所以文中给出大多是基本知识,不过相信也会给老手一定的启发。"
<a id="recomm_sites"></a>Swift网站
- ksm/SwiftInFlux:作者(Karol Mazur)将Apple Developer Forums上有关Swift特性、缺陷及变更讨论分类汇总并更新到Github,具有很好的可读性。从中可以一窥Swift缺陷及未来潜在地变化。最关键地是有Chris Lattner及核心团队答疑解惑。
- raywenderlich.com(中文版): 由Ray Wenderlich创建,专注于开发高质量编程指南(近期优质Swift文章及视频教程不断),著名的iOS/OS X博客及开发教程网站,非常适合新手学习。近期第一时间出了三本Swift新书。
- Natasha The Robot: 时髦码农不容错过的Swift开发实战教程类网站。为了简化学习复杂性,每一篇文章涵盖技术点单一又独立,配以开发步骤、运行结果以及代码等标准方式教授。难能可贵的是,它往往出品"追剧式"(最新开发特性或API跟进式)教程,实在是开发者必藏精品网站。
- NShipster (中译版): 著名开源作者Matt Thompson创建的开发技术博客网站,他开发了AFNetworking网络库,也是非常多产的开源作者。更多了解参考:《COCOA 潮人 MATTT THOMPSON》 By @程序员付恒
- jamesonquave.com: 移动开发者,优秀个人博客(近期文章同样关注于Swift语言,写得很优质)。同时他将于8/30发布一本新书《Developing iOS 8 Apps in Swift》 (Learn To Make Real World iOS 8 Apps)及视频教程。
- objc.io(中译版 By @onevcat 及其朋友们): "关于 Objective-C 最佳实践和先进技术的期刊。 由 Chris Eidhof, Daniel Eggert 和 Florian Kugler 成立于柏林。我们成立 objc.io 的目的是针对深入的、跟所有 iOS 和 OS X 开发者相关的技术话题创造一个正式的平台。“
- iOSCreator:这类开发指引式教程对于初学者来讲,是直接明了的有效学习资源。推荐者@荧星诉语
- iOS Dev Weekly: 收录一周以来iOS开发资讯链接,并于周五发布。由Dave Verwer创办,他是一位iPhone和iPad开发者以及培训师。
- Appcoda.com:质量很高的一个iOS开发教程站,其中iOS Programming Course这个专题很适合刚接触iOS开发的新手学习。
- 中文 iOS/Mac 开发博客列表: By @唐巧_body
- devtalking.com: 高产的中译博客。翻译了官方博客Swift Blog - Apple Developer,《App Extension Programming Guide》。参与翻译了《Swift Programming Language》等。
-
<a id="recomm_resources"></a>资源合集:以下是其它开发者社区或Swift爱好者整理的有关Swift语言学习的资源列表。
- 码农周刊《Swift 特刊》
- CocoaChina《Swift新手入门汇集帖》
- CSDN_CODE《Swift编程语言资料大合集》
- InfoQ《学习苹果Swift语言的一些在线资源(英文)》
- 刘兰涛《Swift学习资源》 By @懒桃儿吃桃儿
- learnswift.tips: 国外主流Swift学习资源集合。
- Awesome iOS: 一个iOS的各类优秀的开源项目集合。真不错!可惜Swift开源项目资源不足。
- iOS Developer Tips: 还是有关iOS的开发资源及文章合集。
- Wolg/awesome-swift:一位俄罗斯朋友分类整理的Swift资源列表(有持续更新)。
- Aufree/trip-to-iOS:显然作者很用心的做了非常深入的整理。它对于开发者拓展学习范围及开发知识面非常有益。
<a id="tools"></a>相关工具
1. 开发工具
- Xcode 6 beta下载: 苹果应用集成开发环境。支持C/C++, Objective C, Swift等。不用购买开发者计划,直接下载。
- Textmate:Mac OS X上一个可高度自定义的编辑器,尤其在我想做出一个快速改变但又不想等待Xcode加载的时候。该工具目前已经开源
- Mou:OS X上一款Markdown的编辑器。非常适用于编写自述文件、变更日志以及其他方面的内容。作者:罗晨
- Sublime Text ($):Mac OS X上另一款非常受欢迎的轻量级,可高度自定义的编辑器。
- RunSwift:正在犹豫是否入手苹果电脑开始一段Swift编程旅程的同学们,或仅仅为了试验一段简单Swift代码又懒得打开Xcode,可以试试这款Web版Swift编译环境RunSwift。
- InfinitApps - Bezel:“嫌 Xcode 6 目前提供的 Watch 模拟器不够直观?Bezel 是一个用于视觉预览 WatchKit 所开发程序效果的小工具,前提是你安装了 xScope 软件(Mac端)或 xScopeMirror(iPhone端)。 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插件
- CocoaPods:第三方库的管理利器,允许你简单地把第三方库整合进自己的应用中。对我个人来说,我基本上每个项目都使用CocoaPods。
- CocoaPods Xcode Plugin:一款Xcode插件,允许你直接从Xcode管理CocoaPod依赖。
- onevcat/VVDocumenter-Xcode:快捷注释Xcode插件。By @onevcat
- Xcode优秀插件整理:持续保持整理更新的Xcode插件整理 By@ddapps
4. 管理工具
- HomeBrew:OS X上非常出色的包管理工具。
- Transmit ($):一个Mac OS X 上FTP客户端,有着非常漂亮的用户界面和有用的功能。
5. 调试工具
- mattt/fuckingclangwarnings.com:警告与语义对照表。以后再也不用为Xcode各种警告纠结啦!By @foogry
6. 参考文章
- iOS开发工具: "这是我们多篇iOS开发工具系列篇中的一篇,此前的文章比如:那些不能错过的Xcode插件,iOS开发者有价值的工具集,iOS/OS X开发:各种工具快到碗里来!,App原型设计工具使用心得(上)& App原型设计工具使用心得(下),你用哪种工具进行iOS app自动化功能测试?,iOS 开发者必知的 75 个工具" By @CocoaChina
网友评论