最近在断断续续的学习RAC,差很少两个月的时间,学了120个小时左右。不得不说RAC的学习曲线十分陡峭,形成RAC难学的主要有几点缘由:html
我建议学习iOS的同窗均可以学习下RAC,这是一种全新的编程思想(函数式响应编程),理解透彻了,能够运用在任何语言。其实其余语言都有对应的函数式编程框架,好比JS的RxJs,Java的RxJava等等,基本上流行的语言都有对应的Rx库。react
前期学习RAC的时候,我花了大量的精力去搜集资料,而后筛选,在慢慢看。由于像RAC这种新的知识,只能经过搜集网上的文章来学习,好的书籍基本上没看到。ios
这篇博客主要是把本身在学习RAC过程当中的搜集到资料整理出来,从初级到高级,还有对应的开源项目,让你在学习RAC的过程当中不至于像我同样处处搜集而后筛选资料,浪费时间。git
咱们在学习一个知识点以前,不能仅仅学会如何使用,而是要知道这个知识点的前因后果,它能解决什么痛点,有哪些优缺点,能不能解决你如今工做或者学习中遇到的问题,而后再决定是否须要花时间系统的学习。github
若是决定学习,就须要系统性而且深刻的学习,不能知足于从网上copy几段代码而后运用在项目里面,就大言不惭的在简历上写上精通RAC。编程
咱们学习一个框架,是要学习他的思想,而不是学会使用几个API就完结了事,而后又就去追求新的知识。学习不是追求最新的技术潮流,而后在简历上写上精通xxx,而是须要沉下心去研究,否则到最后只会丧失初心,愈来愈浮躁。segmentfault
废话扯得有点多了,下面进入正题。markdown
开头我就说过RAC是函数式响应编程框架,这里包括两个编程范式:函数式和响应式。下面这些资料能够帮助你了解网络
咱们要开始学习一个新框架以前,确定须要作个背景调查:这个新框架能解决现有环境下的哪些编程痛点,是否值得我花精力去学习?架构
那么下面几篇文章会给你一个答案
由于RAC使用的是一种全新的方式来实现咱们平常的iOS编程中遇到的问题:
下面这几篇文章看完,相信你对RAC对于前两个问题的优雅处理会有所体会,至于第三个问题,咱们稍后再议。
看了上面两篇文章,相信你对RAC已经感兴趣了吧,至少我以为RAC对于传统iOS编程的前两个痛点的解决方式很是优雅。
下面咱们就要进行深刻学习了,第一步就是要了解RAC的各类经常使用命令的做用,虽然RAC的注释写的很是详细,可是有的时候仍是看的云里雾里,毕竟太过抽象,仍是直接经过代码演示每一个命令的用途来的更加直接。
下面的文档你能够当作字典,遇到不懂就能够来查询下。
相信我,若是你用过RAC+MVVM,你会爱上他们的组合的
把上面这些看完,你基本上能在本身的项目中小范围使用RAC了,可是也仅限于使用下RAC的一些API写一写小功能,离真正理解RAC的思想还差得远了。
这个时候你就须要阅读大量开源的RAC项目来提升了,下面的项目会帮到你
终于在11.1号到来的前半个小时写完了,果真deadline才是最佳生产力呀。
这篇真正意义来讲不算是一篇博客,算是一个资源收集贴,水了一把,不过也写了我两个半小时。
好困,(~﹃~)~zZ
更多文章请访问个人我的博客:blog.ximu.site