Swift 文章精选

教程和指南

  • 斯坦福大学公开课:iOS 8 开发:中文字幕版已经更新至第 6 集。网易公开课与时俱进程度简直是教育界的表率,强烈推荐。来源:@网易公开课,字幕来源:Stanford 公开课,Developing iOS 8 Apps with Swift 字幕翻译

  • Swift REPL(Read - Eval - Print Loop) - 1. 入门介绍 http://idlelife.org/archives/842,2. 一切皆可重定义http://www.cocoachina.com/ios/20150212/11147.html:习惯命令行式、解释型语言风格实时预览代码运行结果的同学,这两篇来自苹果官方博客的文章不容错过。译者:@pockry  / @MichealGeng

  • Alamofire - 1. 基础教程,2. 进阶教程:该系列教程通过示例项目分步骤详细介绍了 Alamofire 网络库的使用技巧。Alamofire 是 Mattt Thompson 为其著名的 AFNetworking 采用 Swift 重写的网络库。来源:Ray Wenderlich,作者:Essan Parto,译者:@星夜暮晨

  • Swift Documentation:“对于开发者来讲,良好的代码结构及组织是其引以为豪的事。干净、一致的代码习惯,对于编译器并无所谓,但程序字里行间可以代表个人符号、或与同伴的差异”。两位博主的倾情合作,有了这篇美文。来源:NSHipster

  • Swift 的响应式编程:文章通过在使用 MVC 以及 MVVM 中发现代码繁杂的弊病,引出响应式编程解决方案,并通过解读 ReactiveCocoa,让读者进一步理解响应式编程所带来的好处。原文:Reactive Swift,译文来源:@开发技术前线,译者:@MrSimp1e

  • 如何用 Swift 语言构建一个自定控件:本文通过讲解如何编写一款两端都可以滑动(以获取最大值及最小值)的 RangeSlider 自定义控件(功能相当于两个 UISlider),让初学者真正地理解其开发步骤和方法,体验其中乐趣。来源:Ray Wenderlich,译者:@BeyondVincent

  • 为 iPhone 6 设计自适应布局(一、二) :"当你们学习完这篇文章后,你们应该会比较自如的使用 storyboard、constraints、size classes 这三个 Apple 在 Xcode 里提供的工具,去探索和构建巧妙的自适应布局"。原文:ADAPTIVE LAYOUTS FOR iPHONE 6,译者:@DevTalking

  • WKWebView:“WKWebView 是现代 WebKit API 在 iOS 8 和 OS X Yosemite 应用中的核心部分。它代替了 UIKit 中的 UIWebView 和 AppKit 中的 WebView,提供了统一的跨双平台 API”。来源:@NSHipster,作者:Mattt Thompson,译者:@刘镇夫

  • JavaScriptCore:文章介绍了在 Swift 中使用 Javascript 的方法和技巧。来源:@NSHipster,作者:Nate Cook(是一位独立的 Web 应用开发者及非常活跃的 Swift 博主),译者:April Peng

  • Core Location in iOS 8:本文侧重于 iOS 8 核心位置服务的权限、室内位置追踪、CLVisit 等角度做了针对性介绍。来源:@NSHipster,译者:April Peng

  • IBInspectable / IBDesignable:通过两者的配合,所见即所得修改界面元素显示属性。尽管这样开发方式对于程序员来讲,并非那么地不可或缺(维护时很有用)。然而,对于设计师,则可以更多地参与界面开发,以有效提高实施效率。来源:@NSHipster,译者:April Peng

  • Swift 方法的多面性:非常基础、易读的文章。相比官方《Swift Programming Language》对应章节,这篇文章讲解得更细、更通俗一些。适合入门者。来源:objc.io,译者:@唯木念

  • 如何在 Swift 中创建 Action 扩展:通过一个简单的 Action 扩展教你如何将 Safari 中拷贝的文本读入 Note 应用中。开发步骤很清晰,并提供完整示例项目代码 https://github.com/jorjuela33/NoteApp。虽然它"只是一个简单的Aciton扩展的例子,但我们可以由此延伸出更多有用、有创意的功能"。 译者:@DevTalking

  • 在 iOS 8 中使用 Handoff:“本文通过一个包含不同功能的联系人示例工程详细讲述了如何进行 Handoff 开发,以及需要注意的地方。By @CocoaChina”。来源:AppCoda ,译者:@_HuaQiao

  • Design-Patterns-In-Swift:列举了常用设计模式,并结合 Swift 程序实现进行讲解。除了回顾设计模式外,它更易于理解 Swift 语言特性,以及了解 Swift 与其它编程语言间的差异。

  • Strings in Swift:深入了解使用 String 的更高级技巧(尤其在 Unicode 的使用上)。为了更直观理解示例代码运行状态,作者附上了与本文几乎完全一致的 Playground 项目下载。P.S. 如今 Playground 已经成为讲授 Swift 使用小技巧及语言特性必备。

  • Swift 的函数式 API:“一篇质量非常高的译文,用很简明的例子从基础开始阐述了 Swift 中函数式 API 的思想。这是一片 Swift 带来的新天地,真心推荐一看。By @onevcat ”。译者:@请叫我汪二

  • CMDeviceMotion:关于传感器框架的解读及使用方法的介绍。让开发者对如何使用三轴陀螺仪、加速感应器、运动协处理器及框架有个基本了解。此外,文章更重要的是启发开发者如何采用传感器结合各种场景开发新颖好玩的应用。来源:@SegmentFault,译者:Cruise Chan

  • 理解 iOS 8 中的 Photo Editing Extension:“我们一起来看看怎样制作一个 Photo Editing Extension。由于我们的关注点在创建应用程序扩展而不是写一个完整的应用,我已经创建了一个你们可以下载并且一路跟着做的上手项目...”。来源:AppCoda,译者:@X140Yu

  • Realm 数据库基础教程:“Realm 是一个跨平台的移动数据库引擎,于 2014 年 7 月发布,准确来说,它是专门为移动应用所设计的数据持久化解决方案之一。Realm 可以轻松地移植到您的项目当中,并且绝大部分常用的功能(比如说插入、查询等等)都可以用一行简单的代码轻松完成”。来源:Ray Wenderlich,译者:@星夜暮晨

  • Swift编程风格指南-Ray Wenderlich 版,GitHub 版:编程风格指南的目标是让 Swift 代码更简洁、可读性更强。

  • iOS设计指南:非官方文档,不过原文《The iOS Design Guidelines》遵循并基于《iOS Human Interface Guidelines》进行解读介绍。非常值得收藏。原作者 Ivo Mynttinen,是一位来自德国的年轻 UI 设计师。其个人博客网站也值得同学们收录:ivomynttinen.com。译者:@shengbanx

  • Facebook React Native 中文教程:“Facebook 在 React.js Conf 2015 大会上推出了基于 JavaScript 的开源框架React Native,本中文教程翻译自 React Native 官方文档”。译者:@极客学院_jikexueyuan

  • Google 地图 SDK 入门教程:“在本文中我们将要学习的:①如何在地图上显示用户当前位置②如何定位自定义地址③如何绘制路径④如何在路径中添加中间点(路径点)等”。非常完整、实用的 Google 地图基础教程。完整示例:google-maps-api-demo,来源:AppCoda,译者:@CocoaChina和百度智客联盟共同翻译。

  • 在 iOS 8 SDK 中使用 Touch ID API - Part I, Part II:译文详述了如何在一款笔记编辑应用程序中集成 iOS 8 SDK 中 Touch ID API。来源:AppCoda,译者:@CocoaChina 翻译组

  • Auto Layout 使用心得(1. 初体验;2. 实现三等分;3. 自定义 cell 并使用 Auto Layout;4. 22 行代码实现拖动回弹;5. 根据文字、图片自动计算 UITableViewCell 高度;6. 制造炫酷的下拉刷新动画):细致入微介绍自动布局及快速入门的中文教程。作者:@吕文翰_JohnLui。

  • 自己动手写一个 iOS 网络请求库:1. NSURLSession 初探;2. 封装接口;3. 降低耦合。项目地址:johnlui/Pitaya。作者:@吕文翰_JohnLui

  • PaintCode 教程:"PaintCode是个非常棒又小而美的mac程序,主要用途是可以将你的矢量图轻松地转换成CoreGraphics代码,可以很轻松的把代码放在你的iOS app里"。作者:@叶孤城___,相关示例项目:使用 PaintCode 制作一个星星评分视图 By @crane乖乖

  • Ray Wenderlich - WatchKit 开始教程:1. 入门;2. 表格和网络请求;3. WatchKit 开始教程 - Table、Glance 和 Handoff。原文:Part 1: Getting Started

  • Core Graphics 教程:1. 起步;2. Gradients 与 Context;3. Patterns 和 Playgrounds。原文来源:Ray Wenderlich,译文来源:@开发技术前线

  • 视频教程

    • 1. 基础篇-使用 Swift 开发 iOS8 应用实战,2. 进阶篇-Swift Weather APP:实战学习是最有效的编程学习方法。该系列视频教程通过不同的案例,由浅入深地介绍 iOS 应用开发方法。来源:@慕课网,讲师:@林永坚Jake

    • WWDC 视频:1. Swift 入门(A001.01, A001.02, A001.03, A001.04);2. Swift 进阶(A002.01, A002.02,A002.03, A002.04, A002.05);3. Swift 版本升级补录补丁(A001.Patch,A002.Patch)。翻译:@赵哲A

技巧和方案

  • 盘点开发者最喜爱的 Swift 技巧:文章首推新起之秀 natashatherobot.com 博主 Natasha Murashev 独门 Swift 秘籍,还有 objc.io 博主 Chris Eidhof 着力推荐的独具特色的 Swift 版 Quicksort,还有... 还是请同学们细细品读文章吧。原文:Favorite Swift Tips & Tricks of 2014,来源:Realm,译者:@唐门教主

  • 用 Swift 的函数式编程解决硬币问题:利用Swift 语言特性及函数式编程风格,使算法实现简单又巧妙。"要破开一美元的方法一共有293种之多。也就是说,如果有人给你一美元换零钱,你可以给他 293 种不同的硬币组合...”。译者:@pockry

  • 面向轨道编程 - Swift 中的异常处理:学习笔记。轨道方案巧妙又富有成效。作者:@请叫我汪二

  • 使用状态机的好处:“你写过最复杂的控件是什么样?它根据用户的操作,是否会有不同的“状态”?了解一点状态机,就易于理清逻辑,能写出可维护性较好的代码”。P.S. 好文。状态机让代码可读性更高了。同时通过对状态的有效管理,加强了应用的健壮性。作者:@nixzhu

  • Swift 开发经验小技巧:1. 如何正确地定义一个类变量(和类常量);2. 用 Optional 来避免异常指针问题;3. 如何用 Swift 思维设计网络请求;4. 正确地启用 Logging 机制。作者:@图拉鼎

  • Swift 中的 UIKit 重力学(一、二):通过 UIKit Dynamics 和 Motion Effects 两大利器实现具有重力效应的界面元素教程。来源:Ray Wenderlich,译者:@DevTalking

  • 在 iOS8 创建一个交互性强的本地通知:“iOS 8里,通知加入了新特性。开发者可以指定用户可触发的具体的动作,而且甚至不用启动应用也可以处理这个通知。本文详细讲解了如何开发一个互动性强的本地通知”。附:完整示例,译者:@iBenjamin_Go

  • Hamburger Button - Menu/Close, Menu/Back:小小的按钮,无论在设计上,还是代码上,都进行了精雕细琢。两位作者对基于动画的开发都非常有经验。作者:Robert Böhnke, Arkadiusz Holko

  • Swift扩展的三个微妙细节:有关于 extension 细节的较完整说明。推荐不甚了解的开发同学阅读,避免稀里糊涂地使用。译文来源:@开发技术前线,译者:samw00,原文:3 Nuances of Swift Extensions

经验和评论

  • 我在开发第一个 Swift 应用过程中学到的四件事:作者为了讲授 iOS 8 App Extensions 视频教程而实际使用 Swift 开发了一款应用的经验及体会。原文:Four Things I Learned Making My First Swift App,来源:Ray Wenderlich,作者:Greg Heo(Ray 公司 Razeware 员工),译者:@pockry

  • 设计师+Xcode:突破产品开发的流程界线:原文作者做为视觉设计师,讲述了采用 Interface Builder 和 Storyboard 与开发小组协同工作的故事。虽然只是一个4人小团队,但清晰的分工协作,使项目有序高效进展。Xcode也让视觉设计师及UX设计师有机会分担部分前端开发工作。原文: Blurring the lines between design and code,来源:@BeForWeb,译者: @C7210

  • #objc中国# - Issue 20:“三位传奇开发者的访谈,很有意思。天才少年 Andy Matuschak 《终身学习的一代人》 两次创业 Loren Brichter 《让东西变得不那么糟》 以及前 FBI 的俄国妹子 Natasha Murashev 《学无止境》。简直篇篇精彩。By @onevcat”。Natasha Murashev 的访谈故事对于学习 Swift 的同学比较励志。

  • Objective-C 开发者对 Swift 亮点的点评:这篇文章涵盖了 Swift 典型亮点,或许描述还不够全面,不过,对初学者应该已经很受用了。P.S. 提醒:由于本文写于 Swift 刚发布时,因此版本关系可能会有个别点不精准。来源:Ray Wenderlich,译者:@午后的小甜点

  • Cocoa 之死(Mattt Thompson),Cocoa 永生(Nate Cook): 两篇貌似矛盾,其实并非如此,后一篇溢美 Cocoa 辉煌过去及成就,实则告诉大家它更为 Swift 的亮相铺平了道路,使其一出世开发者就有优秀工具库可用。作者也预言未来会有更好的继任者。来源:NSHipster,译者:@李乐佳

  • Design for Wearables:很系统化的 Apple Watch 设计课程, 建议开发的同学好好学习一下。

  • WatchKit FAQ:“解答了一系列在社区、Twitter、邮件以及 Stack Overflow 上问的比较频繁的问题,包括基础问题,进阶问题、动画、调试和单元测试以及货币化的一些问题”。来源:Ray Wenderlich,译者:Yue Wang(@CocoaChina 翻译组)

  • 三篇优秀的 WatchKit 初探:分别来自 Ray Wenderlich-WatchKit 初探(译者:@DevTalking),Mattt Thompson-WatchKit(译者:Bob Liu),王巍- Apple WatchKit 初探(作者:@onevcat)。

  • WatchKit Storyboard攻略:1. 开发基础与小技巧;2. Glance 示例介绍;3. Notification 视图相关。作者:@WatchKit开发

  • 详解Xcode 6的视图调试:教程非常实用,值得学习。另外,教程选用的开源项目(jessesquires/JSQMessagesViewController)也很经典。来源:Ray Wenderlich,译者:@CocoaChina 翻译组

  • 案例学习 - 为Apple Watch简化现有产品的设计思路:文章讲述了一款导航应用在 Apple Watch 上的设计及思考过程。P.S. 来自 @BeForWeb 的译文学习及思考性很强,目前读者虽然更倾向于产品经理、用户体验设计师或工程师。感兴趣产品体验的开发者,建议多关注。译者:@C7210

  • 案例学习 - 关于Watch应用的导航、通知、复杂任务及动效: “为Watch设计的过程很有意思,我们必须聚焦在核心体验上,打造最基本最简化的界面及交互,并设计合理的通知机制。对于复杂的功能要考虑通过Handoff完成。此外不要忘记在恰当的地方通过动效来提升交互体验...”。来源:medium.com,译者:@C7210

  • 74 个 Swift 标准库函数:"Swift 包含了 74 个内置函数,但在 The Swift Programming Langage 一书中只介绍了其中的 7 个,其它的都没有在文档中体现。文中作者没有提及他是如何发现这么多未在文档中体现的内置函数的,估计是反编译的结果"。译者:@李洁信

  • 聊聊移动端跨平台开发的各种技术:文章研究很全面、很透彻。赞同林老师建议。实在需要时,iOS/WKWebView 和 Android/WebView 可以做为跨平台衔接技术。“@林泰前:目前看到对跨平台开发最完整的文章,对这方面有兴趣的朋友建议一读。不过这是我的建议:好好学习 Swift/iOS 和 Java/Android,没有任何跨平台方案比得上真正原生的方案。”

  • objc.io - #24 音频:经过了前两期(照片和视频),本期自然地延伸为音频,这种具有连续性的博客平台,对于开发者,实在是福气。本期首篇文章《音频处理的狗屋(译文)》是精品之作。

  • Swift Documentation(译文):“代码的结构和组织关乎了开发童鞋们的节操问题。明确和一致的代码表示了明确和一贯的思想。编译器并没有一个挑剔的口味,但当谈到命名,空格或文档,人类的差异就体现出来了”。来源:NSHipster

网站和博客

  • raywenderlich.com:由 Ray Wenderlich 创建,专注于开发高质量编程指南(近期优质Swift文章及视频教程不断),著名的 iOS/OS X 博客及开发教程网站,非常适合新手学习。

  • NShipster (中译版):著名开源作者 Matt Thompson 创建的开发技术博客网站,他开发了 AFNetworking 网络库,也是非常多产的开源作者。更多了解参考:《COCOA 潮人 MATTT THOMPSON》

  • objc.io(中译版 By @onevcat 及其朋友们):"关于 Objective-C 最佳实践和先进技术的期刊。 由 Chris Eidhof, Daniel Eggert 和 Florian Kugler 成立于柏林。我们成立 objc.io 的目的是针对深入的、跟所有 iOS 和 OS X 开发者相关的技术话题创造一个正式的平台。“

  • iOSCreator:该网站每月出 2-3 份不同侧重的开发指引式教程。它们对于初学者来讲是非常直接明了、有效的学习资源。

  • iOS Dev Weekly:收录一周以来 iOS 开发资讯链接,并于周五发布。由 Dave Verwer 创办,他是一位 iPhone 和 iPad 开发者以及培训师。


你可能感兴趣的:(Swift 文章精选)