RxSwift之路 2#如何开始

第一步当然是把项目clone到本地,github地址:https://github.com/ReactiveX/RxSwift

官方文档

学习的第一手资源当然是项目提供的文档。在项目的Document目录下放着项目的一些概念说明。看过项目的ReadMe后可以从 Getting Started 开始。

不过如果你之前完全没有接触过响应式编程这种概念,一开始文档可能读的不太懂,多看一些实际使用的 demo 会有更深的体会。响应式的编程思维和在 OC 流行的 ReactiveCocoa 是一致的,所以对于什么是 FRP 一些介绍 RAC 的文章一样可以看,不必拘泥。

把项目跑起来,从Playground学习API

用 cocoapod 安装后,从 workspace 打开项目,模式里选择 RxSwift-macOS 然后编译项目。Rx 非常友好的写了一个展示 API 的 Playground。在导航里选中 Rx.playground 文件。

在 Playground 里可以看到各个 API 的使用方式和一些说明。

如果想要自己测试某个 API,可以展开 Rx,选中二级里的文件 Playground,就可以在里面自己写代码运行看某个 API 的运行结果。

视频

realm的学院网站放了一个Rx的专题,入门的时候也可以去看看:
Learning Path: RxSwift from Start to Finish 。

Rx 的书我只看到过一本。购买地址:https://store.raywenderlich.com/products/rxswift

虽然这本书有点贵需要55刀,但是里面的知识也值这个价。对于初学者而言买这本书对着边做边学是一个很好的路径。
需要指出的是这本书还是更多的停留在如何使用好 Rx 上,对于一些具体的设计实现没有深入提及。所以在读完这本书后依然建议读一遍官方文档,再探究一下源码。

有一本介绍 RAC 的书,如果你项目是 OC 也可以看看这本,这本内容比较少大概100页,网络上也有盗版资源。购买链接:https://leanpub.com/iosfrp 。

app

Rx 的操作符实在是有点多,有时也可能记不清,可以下载 RxMarbles 查询。

其他

推荐两篇博文。一篇李忠的是时候学习 RxSwift 了。一篇 riddle 的 iOS响应式架构。如果没有从更高的抽象理解为什么需要一个响应式的框架是用不好的 Rx 的。

有用 Slack 还可以加下 RxSwift 的频道:https://rxswift.slack.com 。当然请不要在里面说中文。

RxSwift之路 2#如何开始的更多相关文章

  1. RxSwift之路 1#Swift语法知识准备

    RxSwift之路 1#Swift语法知识准备 在开始学习 RxSwift 之前,一定要对 Swift 相关语法有所了解,否则就很难理解为什么可以这样.关于 Swift 的学习其实只要看看 Swift ...

  2. webp图片实践之路

    最近,我们在项目中实践了webp图片,并且抽离出了工具模块,整合到了项目的基础模板中.传闻IOS10也将要支持webp,那么使用webp带来的性能提升将更加明显.估计在不久的将来,webp会成为标配. ...

  3. 多线程爬坑之路-Thread和Runable源码解析之基本方法的运用实例

    前面的文章:多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类) 多线程爬坑之路-Thread和Runable源码解析 前面 ...

  4. JavaScript进阶之路(一)初学者的开始

    一:写在前面的问题和话 一个javascript初学者的进阶之路! 背景:3年后端(ASP.NET)工作经验,javascript水平一般般,前端水平一般般.学习资料:犀牛书. 如有误导,或者错误的地 ...

  5. jQuery学习之路(1)-选择器

    ▓▓▓▓▓▓ 大致介绍 终于开始了我的jQuery学习之路!感觉不能再拖了,要边学习原生JavaScript边学习jQuery jQuery是什么? jQuery是一个快速.简洁的JavaScript ...

  6. 记录我这一年的技术之路(nodejs纯干货)

    2015年12月28日23:19:54 更新koa应用.学习型网站和开发者工具等 coding伊始 开始认认真真的学习技术还是2015.10.21日开始的,记得很清楚,那天,是我在龙湖正式学习的第一天 ...

  7. 一个IT人的成长路

    毕业四年多了,来深圳三年多了,经历了刚毕业的懵懂少年,成长为现在的成熟稳重青年.职场上,从刚毕业的小白,成长为现在可以成熟应对各种事情的老司机.经历过从初级研发工程师,到中级研发工程师,到高级研发工程 ...

  8. redis成长之路——(二)

    redis操作封装 针对这些常用结构,StackExchange.Redis已经做了一些封装,不过在实际应用场景中还必须添加一些功能,例如重试等 所以对一些常功能做了一些自行封装SERedisOper ...

  9. redis成长之路——(一)

    为什么使用redis Redis适合所有数据in-momory的场景,虽然Redis也提供持久化功能,但实际更多的是一个disk-backed的功能,跟传统意义上的持久化有比较大的差别,那么可能大家就 ...

随机推荐

  1. 《gradle权威指南》--Gradle入门

    No1: Window下搭建Gradle:添加GRADLE_HOME环境变量,然后把GRADLE_HOME\bin添加到PATH系统变量里保存即可.完成后打开CMD,运行gradle -v来验证 No ...

  2. python常用模块之时间模块

    python常用模块之时间模块 python全栈开发时间模块 上次的博客link:http://futuretechx.com/python-collections/ 接着上次的继续学习: 时间模块 ...

  3. BufferedReader的小例子

    注意: BufferedReader只能接受字符流的缓冲区,因为每一个中文需要占据两个字节,所以需要将System.in这个字节输入流变为字符输入流,采用: BufferedReader buf = ...

  4. win7 资源资源管理器访问FTP站点

    Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\ftp] @="URL:File Transfer Protocol" ...

  5. Luogu2586 [ZJOI2008]杀蚂蚁 ---- 模拟

    Luogu2586 [ZJOI2008]杀蚂蚁 题意 还是一道大模拟 https://www.luogu.org/problemnew/show/P2586 大概就是炮塔大蚂蚁的故事 下载这个游戏ht ...

  6. [NOIp2009普及组]细胞分裂

    思路: 首先将$30000$以内的所有质数求出,再对$m1$质因数分解. 对于每个$s$,计算它和$m1$的每个公共质因数的倍数关系,取$max$则为该细胞满足条件所花费的最少时间. 再对于每个细胞的 ...

  7. angular.js--------demo1

    <!doctype html><html ng-app> <head> <meta charset="utf-8"> </he ...

  8. 429. N叉树的层序遍历

    429. N叉树的层序遍历 题意 给定一个 N 叉树,返回其节点值的层序遍历. (即从左到右,逐层遍历). 解题思路 和二叉树的层次遍历的思想一样: 实现 class Solution(object) ...

  9. ELASTIC 动态修改配置API

    工作中使用ELASTIC,我们常有需要修改的配置项,但有时又不想重启elastic,这时候就需要elasticsearch内置的修改集群配置API上场了. 这个API非常的简单. curl -XPUT ...

  10. if判断比较详解

    shell判断数组中是否包含某个元素: ary=(1 2 3) a=2 if [[ "${ary[@]}" =~ "$a" ]] ; then    echo ...