“If you’ve ever used an asynchronous callback based API, you’ve probably dealt with handling the response data ad-hoc all across your codebase, and have most likely decided there was no way to unit test it all… But, let me tell you - there is a better way, and it’s called Rx!”
— Krunoslav Zaher, creator of RxSwift
不可否认,Rx是当今移动应用开发中最热门的话题之一,它是一个多平台的标准,基本上前卫一点的开发者都会有所接触,所以无论是网络开发大会,还是Android,或者Swift研讨会,基本上每次沙龙或者线下面基都会必现他的身影。
对于RxSwift来说,只是其中的一个系列,让你可以使用全新的方式在你敲喜欢的(???)的Swift语言下更容易的编写和测试的优雅代码。
要开发出一个强大高效的应用,肯定就要处理多个并发任务,如播放音频,处理用户界面输入,进行联网调用等等。有时候,将数据从一个进程传递到另一个进程,或者甚至只是观察这些任务以不同的顺序依次发生,仅仅是这些需求,常规处理,就会开发时间直线上升。
本次学习中,我们将会针对RxSwift如何解决与异步编程有关的问题进行讲解,并掌握它,我们从观察简单的数据序列到组合和转换异步流,从而设计架构和构建高质量的应用。
学习成本
至少需要安装 OS X El Capitan 系统的Mac。
至少安装 Xcode 并且版本需要在 8.0 以上。
需要对iOS开发有一定的经验(怎么说也得一年以上开发经验吧!!!), Swift 和 UIKit 有较好的理解。
本教程不需要开发者账号(2016苹果开放了真机调试权限,Apple ID还是需要的)。
本次学习是针对已经习惯使用 Swift 的iOS开发者,并希望深入研究RxSwift。如果你是一个iOS初学者,建议还是先把Swift和iOS基础夯实了再来进阶。
本次学习会在每个章节都提供了适合对应的项目和源代码,并且涵盖了少量的编程技巧,有些章节设计纯理论,可以自行使用 Playground 进行上手。如果读者对于RxSwift有一定的基础了解,不放也阔以先阅读以下前面的基础章节,说不定有啥意想不到的收获。