当前位置: 首页 > news >正文

这是第一部中国人写的关于RxJS的书

去年我写了一本书《深入浅出React和Redux》,承蒙读者们看得起,获得了一些肯定,也让我对技术写作更有热情。

React和Redux都是R字头的,属于响应式编程(Reactive Programming)的范畴,但是,我自己觉得对响应式编程介绍得还是不够尽兴,所以就有了这本书《深入浅出RxJS》。

这本《深入浅出RxJS》讲的是RxJS这门技术,RxJS全称Reactive Extension JavaScript,是在JavaScript上最直接最彻底的响应式编程实践。对于前端开发人员,你很可能对RxJS早有耳闻,Angular框架中就重度使用了RxJS,即使不使用Angular,使用React或者Vue或者任何一种其他技术,RxJS都大有用武之地,这是一个被业界很被推崇的技术,了解RxJS对于前端开发者的技术进阶,很重要。

不过,RxJS也是很难的一门技术。

如果你对RxJS有一点了解,应该知道,RxJS的学习曲线很陡峭,简单说就是——很难学。我自己对此深有体会,我个人也花了近半年的时间才敢说自己初步学会了RxJS。

这引出一个问题:为什么RxJS这么难学?

当然,RxJS本身就很难,但我认为另一个主要原因,就是现有的RxJS文档有问题,介绍RxJS的文档材料都不是线性的,当你了解一个概念A,这个概念要涉及到概念B,当你去了解概念B时,介绍概念B的文档又会提到概念C,然后你去看概念C,发现它的示例又绕回来需要你了解概念A。

现有的RxJS文档呢,整个知识体系是一个网状,让初学者很难理出一个头绪出来。

所以,我就想,应该有一种方式能够用线性的方式,而不是用跳跃的方式来介绍RxJS,如果能这样,这门技术也就没那么难学了,也就会被更多的人掌握,那该多好。

有了这个想法之后,我就开始写《深入浅出RxJS》这本书。

本《深入浅出RxJS》已经由机械工业出版社发行,在各大图书销售网站上都可以找到。

有很多读者问我这本书是否会有Kindle电子版,答案是“有”,但是,我强烈建议大家还是去读纸质版,因为只有纸质版能够保证代码格式正确,之前我写的《深入浅出React和Redux》不断有读者反馈电子版中格式错乱,因为电子版的产生我也不知道怎么搞的,其质量完全在我控制范围之外,所以,请看纸质版!

不过,我还是先给大家提个醒,虽然RxJS是个好东西,而且我已经用上了毕生的功力去把这个技术介绍得通俗易懂,但是,最后的掌握熟练程度,还是要靠各位自己写代码练习,只有多练习,才能掌握知识。

如果阅读此书时觉得内容枯燥,请翻到最后一章,有彩蛋,应该能激发你的学习兴趣:-)

本书写作的时候RxJS v6还没有发布,所以我是按照v5的内容来撰写,就在我完稿提交印刷之后没几周,v6发布了,不得不感叹技术发展很快。不过,这并不表示本书的内容就过时了,首先v6和v5可以通过compat来兼容,更重要的是,还是那句老话:重要的是思想!通过阅读这本书,读者可以体会到RxJS的设计思想,这比追逐最新的API更有价值。

中国的广告法规定商品上不许出现“第一个”“最XX”之类的字眼,不过我还是可以很自豪地在自己的专栏文章里说一句,这是第一部中国人写的关于RxJS的书,为我自己打call。

最后,再次感谢大家对我写作的支持,谢谢!

资深架构师,曾任职于摩托罗拉、雅虎和微软,云鸟配送平台联合创始人,目前服务于美国视频服务公司Hulu。

相关文章:

  • 只有真正的程序员看得懂的16个幽默
  • 这里有你最想掌握的区块链技术
  • 百度吹过的牛将要实现,你的AI梦呢?
  • 升级转型“三新战略”之新制造
  • 会议邀请〡第六届全国高校电子信息类课程教学研讨会邀请函
  • 福利丨好书申请免费送【7.27】
  • 大数据不背“杀熟”的锅!高科技公司掌握了你的个人信息,都干了些啥?
  • 我们需要什么样的区块链
  • 中国 Python 开发者大会 PyCon China 2018
  • 【深度】Python程序员经常踩得那些坑(1)
  • 【活动】《机·智:从数字化车间走向智能制造》读者沙龙
  • 【深度】Python程序员经常踩得那些坑(2)
  • 【今日新闻】11.20
  • 【活动】BDTC 2018 中国大数据技术大会首曝日程及议题
  • 【今日新闻】11.22
  • 《剑指offer》分解让复杂问题更简单
  • 2017届校招提前批面试回顾
  • CSS选择器——伪元素选择器之处理父元素高度及外边距溢出
  • Js基础知识(一) - 变量
  • Laravel Mix运行时关于es2015报错解决方案
  • RxJS: 简单入门
  • Theano - 导数
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • 第十八天-企业应用架构模式-基本模式
  • 飞驰在Mesos的涡轮引擎上
  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+grafana日志跟踪平台
  • 排序算法学习笔记
  • zabbix3.2监控linux磁盘IO
  • # 数据结构
  • #我与Java虚拟机的故事#连载18:JAVA成长之路
  • $.type 怎么精确判断对象类型的 --(源码学习2)
  • (31)对象的克隆
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (论文阅读11/100)Fast R-CNN
  • (十八)devops持续集成开发——使用docker安装部署jenkins流水线服务
  • (转) Face-Resources
  • (转)项目管理杂谈-我所期望的新人
  • *(长期更新)软考网络工程师学习笔记——Section 22 无线局域网
  • ..回顾17,展望18
  • .NET 的静态构造函数是否线程安全?答案是肯定的!
  • .net 提取注释生成API文档 帮助文档
  • .NET单元测试
  • .Net接口调试与案例
  • .sh 的运行
  • /使用匿名内部类来复写Handler当中的handlerMessage()方法
  • @Bean有哪些属性
  • @RequestParam @RequestBody @PathVariable 等参数绑定注解详解
  • @RequestParam,@RequestBody和@PathVariable 区别
  • [ JavaScript ] JSON方法
  • [<事务专题>]
  • [AUTOSAR][诊断管理][ECU][$37] 请求退出传输。终止数据传输的(上传/下载)
  • [CLickhouse] 学习小计
  • [Flutter]设置应用包名、名称、版本号、最低支持版本、Icon、启动页以及环境判断、平台判断和打包
  • [HCTF 2018]WarmUp (代码审计)
  • [JS]Math.random()随机数的二三事