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. Unity 中几点注意的地方

    1.面板摆放的规范 2.project工程面板中 文件夹命名的规范,不同类型的东西要分类摆放,例如Script 3.不要留空函数体(系统自动生成Start, Uadate等),空函数体一样会执行,尤其 ...

  2. 在macOS下正确配置 VS Code 使用 virtualenv 里的 python 环境参数

    在macos配置好并启动 virtualenv 环境后,如何让 VS Code 使用这个环境下来编译调试 python 脚本呢? 1.首先当然是先配置好python虚拟环境 假定配置python的的虚 ...

  3. python命令行解析模块--argparse

    python命令行解析模块--argparse 目录 简介 详解ArgumentParser方法 详解add_argument方法 参考文档: https://www.jianshu.com/p/aa ...

  4. 上线---苹果AppStore审核注意事项,Guideline 1.2 - Safety - User Generated Content,2.1等条例(苹果审核六次拒绝)

    前段时间上线app,和战友一起撸了那么久的代码,上线是最激动的.然而安卓各大平台上线了半个月了,苹果却给了六次拒绝. 刚开始等苹果等的焦头烂额,现在内心毫无波澜,目前还在审核中...... 六次的拒绝 ...

  5. Mysql学习(一)添加一个新的用户并用golang操作Mysql

    Mysql添加一个新的用户并赋予权限 添加一个自己的用户到mysql 首先我们需要先用root用户登录mysql,但是刚安装完没有密码,我们先跳过密码 ailumiyana@ailumiyana:~/ ...

  6. 【Java并发核心七】计划任务ScheduleExecutorService

    Java中定时任务Timer工具类提供了计划任务的实现,但是Timer工具类是以队列的方式来管理线程的,并不是以线程池的方式,这样在高并发的情况下,运行效率会有点低. ScheduleExecutor ...

  7. TYVJ.1864.[Poetize I]守卫者的挑战(概率DP)

    题目链接...无 题目: P1864 [Poetize I]守卫者的挑战 时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述 打开了黑魔法师Vani的大门,队员们 ...

  8. mac下搭建node+koa2项目

    1.安装koa sudo npm install koa-generator -g (必须加上  sudo ,否则会报没有权限的错误) 提示输入密码: koa2 node001 npm i 启动:no ...

  9. BZOJ2759一个动态树好题 LCT

    题如其名啊 昨天晚上写了一发忘保存 只好今天又码一遍了 将题目中怕$p[i]$看做$i$的$father$ 可以发现每个联通块都是一个基环树 我们对每个基环删掉环上一条边 就可以得到一个森林了 可以用 ...

  10. Redis淘汰删除策略

    Redis淘汰删除策略 Redis淘汰删除策略6种淘汰Key策略3种删除过期键策略定时删除惰性删除定期删除其他模块的淘汰处理RDB 快照持久化创建载入AOF 只追加持久化写入重写主从复模式下对过期键的 ...