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. DNS信息收集命令nslookup

    DNS信息收集--NSLOOKUP 前面文章我介绍了dig命令,NSLOOKUP命令用法差不多 简单查询 语法:nslookup domain [dns-server] nslookup www.si ...

  2. 操作系统概述(os 笔记一)

    操作系统概述 操作系统的目标和功能 1.目标:作为用户/计算机接口 ​ 计算机的使用人群大致可以分为三类,终端用户,程序开发者,操作系统设计人员. 对于终端用户,即应用程序的用户来说,他们通常不关注计 ...

  3. LOJ.115.[模板]无源汇有上下界可行流(Dinic)

    题目链接 参考:http://blog.csdn.net/clove_unique/article/details/54884437 http://blog.csdn.net/wu_tongtong/ ...

  4. node+koa2 向页面传值方式

    1. router.post('/form',async(ctx,next)=>{ const form = ctx.request.body; console.log('用户名:'+form. ...

  5. 解决iframe重复嵌套登陆页面的问题

    在login.jsp中加入即可 // 在被嵌套时就刷新上级窗口 if(window.parent != window){ window.parent.location.reload(true); }

  6. 2016年3月1日Android实习笔记

    1:经查资料,Android中gif动画加载共有两种 1)利用WebView,WebView 主要调用三个方法:LoadUrl.LoadData.LoadDataWithBaseURL 2)主要用的是 ...

  7. JavaScript_几种继承方式(2017-07-04)

    原型链继承 核心: 将父类的实例作为子类的原型 //父类 function SuperType() {   this.property = true; } SuperType.prototype.ge ...

  8. 轻松学C#----第一篇笔记

    C#是微软公司推出的一种面向对象的开发语言,于2002年发布,经历了10年的发展,已经广泛应用于各种生产领域.以它为基础语言的ASP.NET已经称为主流网站开发技术.[入门] 共三章: 第一篇:C#概 ...

  9. unity3d 射线的原理,基础用法

    射线:射线是3D世界中一个点向一个方向发射的一条无终点的线,在发射轨迹中与其他物体发生碰撞时,它将停止发射 . Ray射线类和RaycastHit射线投射信息类是射线中常用的两个工具类. 用途:射线多 ...

  10. Hessian学习总结(二)——使用hessian上传文件

    hessian较早版本通过 byte[] 进行文件传输:4.0之后支持 InputStream 作为参数或返回值进行传输. 注意:hessian会读取整个文件,如果文件过大,会导致JVM内存溢出.可以 ...