RAC资源帖

最近在断断续续的学习RAC,差不多两个月的时间,学了120个小时左右。不得不说RAC的学习曲线十分陡峭,造成RAC难学的主要有几点原因:

  1. 完全不同的编程思想。平常我们使用OC写代码都是面向对象的编程范式,而RAC却是在OC语言环境下实现的函数式响应编程,简称FRP。这就需要我们使用全新的思维去组织代码架构。
  2. 需要学习的方法较多。不像其他框架,我们只需要使用几个常用的方法就可以用的很好,RAC几乎需要掌握全部的方法,因为在不同的场景你需要灵活组合运用这些函数。
  3. 传统的iOS编程,对于网络请求和响应,点击事件,通知,KVO,代理这些异步事件都是分开处理,而RAC使用信号来统一包装处理。这又是一种全新的思想,需要我们掌握和理解。
  4. 就算把上面的全都理解了,但是对于怎么在项目中运用RAC才是最大的难点,因为RAC太抽象,新手完全不知道从哪里下手开始。就算用RAC写项目,也会写的四不像。

我建议学习iOS的同学都可以学习下RAC,这是一种全新的编程思想(函数式响应编程),理解透彻了,可以运用在任何语言。其实其他语言都有对应的函数式编程框架,比如JS的RxJs,Java的RxJava等等,基本上流行的语言都有对应的Rx库。

前期学习RAC的时候,我花了大量的精力去搜集资料,然后筛选,在慢慢看。因为像RAC这种新的知识,只能通过搜集网上的文章来学习,好的书籍基本上没看到。

这篇博客主要是把自己在学习RAC过程中的搜集到资料整理出来,从初级到高级,还有对应的开源项目,让你在学习RAC的过程中不至于像我一样到处搜集然后筛选资料,浪费时间。


什么是函数式响应编程范式

我们在学习一个知识点之前,不能仅仅学会如何使用,而是要知道这个知识点的来龙去脉,它能解决什么痛点,有哪些优缺点,能不能解决你现在工作或者学习中遇到的问题,然后再决定是否需要花时间系统的学习。

如果决定学习,就需要系统性并且深入的学习,不能满足于从网上copy几段代码然后运用在项目里面,就大言不惭的在简历上写上精通RAC。

我们学习一个框架,是要学习他的思想,而不是学会使用几个API就完结了事,然后又就去追求新的知识。学习不是追求最新的技术潮流,然后在简历上写上精通xxx,而是需要沉下心去研究,不然到最后只会丧失初心,越来越浮躁。

废话扯得有点多了,下面进入正题。

开头我就说过RAC是函数式响应编程框架,这里包括两个编程范式:函数式和响应式。下面这些资料可以帮助你了解

  1. RP入门
  2. 函数式编程初探
  3. iOS开发下的函数响应式编程

RAC解决了什么问题

我们要开始学习一个新框架之前,肯定需要做个背景调查:这个新框架能解决现有环境下的哪些编程痛点,是否值得我花精力去学习?

那么下面几篇文章会给你一个答案

  1. ReactiveCocoa - iOS开发的新框架

  2. Why Reactive(Cocoa)?

  3. ReactiveCocoa是Cocoa的未来

  4. Reactive Cocoa Tutorial [0] = Overview


对RAC的感性认识

因为RAC使用的是一种全新的方式来实现我们日常的iOS编程中遇到的问题:

  • 包括过多的状态依赖
  • 实现方式各异的消息传递机制(通知,代理,target-action)
  • MVC框架中的controller层过于臃肿。

下面这几篇文章看完,相信你对RAC对于前两个问题的优雅处理会有所体会,至于第三个问题,我们稍后再议。

  1. MVVM Tutorial with ReactiveCocoa: Part 1/2

  2. MVVM Tutorial with ReactiveCocoa: Part 2/2


RAC常用命令

看了上面两篇文章,相信你对RAC已经感兴趣了吧,至少我觉得RAC对于传统iOS编程的前两个痛点的解决方式非常优雅。
下面我们就要进行深入学习了,第一步就是要了解RAC的各种常用命令的作用,虽然RAC的注释写的非常详细,但是有的时候还是看的云里雾里,毕竟太过抽象,还是直接通过代码演示每个命令的用途来的更加直接。

下面的文档你可以当做字典,遇到不懂就可以来查询下。

  1. 最快让你上手ReactiveCocoa之基础篇

  2. 最快让你上手ReactiveCocoa之进阶篇

  3. RAC 基本操作命令

  4. Reactive Cocoa Tutorial [4] = 只取所需的Filters

  5. Comparing replay, replayLast, and replayLazily ----> 对应的译文

  6. flattenMap VS map + switchToLatest

  7. iOS-ReactiveCocoa使用之细说信号的订阅

  8. iOS-ReactiveCocoa使用之RACCommand

  9. [译]ReactiveCocoa基础:理解并使用RACCommand


RAC+MVVM讲解

相信我,如果你用过RAC+MVVM,你会爱上他们的组合的

  1. 【长篇高能】ReactiveCocoa 和 MVVM 入门
  2. iOS开发之ReactiveCocoa下的MVVM
  3. ReactiveCocoa2实战
  4. iOS 7最佳实践:一个天气App案例(上)
  5. iOS 7最佳实践:一个天气App案例(下)
  6. MVVM 介绍

开源项目

把上面这些看完,你基本上能在自己的项目中小范围使用RAC了,但是也仅限于使用下RAC的一些API写一写小功能,离真正理解RAC的思想还差得远了。

这个时候你就需要阅读大量开源的RAC项目来提高了,下面的项目会帮到你

  1. FunctionalReactivePixels
  2. MVVMReactiveCocoa(推荐)
  3. C41
  4. ReactiveViewModel

感慨

终于在11.1号到来的前半个小时写完了,果然deadline才是最佳生产力呀。

这篇真正意义来说不算是一篇博客,算是一个资源收集贴,水了一把,不过也写了我两个半小时。

好困,(~﹃~)~zZ

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,482评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,377评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,762评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,273评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,289评论 5 373
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,046评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,351评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,988评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,476评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,948评论 2 324
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,064评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,712评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,261评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,264评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,486评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,511评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,802评论 2 345

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,024评论 4 62
  • 最近我在工作中发现一个问题,各单位的资金请示好多都很难获得批复,我也受到领导的严肃批评,说我没有把好文件关,一些滥...
    王进康阅读 974评论 0 1
  • 文:而立虚云逸见 (本故事纯属虚构,如有雷同纯属巧合) 今天下午,偶有空闲,办公室里几个已婚男开始拿一个未婚小鲜肉...
    通灵半藏阅读 171评论 1 1
  • 近年来,人们对美的追求越发时尚化,作为我国四大名玉之一的绿松石,在珠宝首饰市场上占据了很重要的地位。并且随着绿松石...
    五柳文玩华掌柜阅读 379评论 0 0