深入React技术栈这本书讲的是什么

简介: 全面讲述React技术栈的原创图书,pure render专栏主创倾力打造,覆盖React、Flux、Redux及可视化等内容。

*文中代码字体版权说明

React是目前前端工程化最前沿的技术。2004年Gmail的推出,让大家猛然发现,单页应用的互动也可以如此流畅。2010年,前端单页应用框架接踵而至,Backbone、Knockout、Angular,各领风骚。2013年,React横空出世,独树一帜:单向绑定、声明式UI,大大简化了大型应用的构建。Strikingly接触到React之后不久,就开始用React重构前端。

当时我想,2013年或许会因为React的出现,成为前端社区的分水岭。今天回看,确实如此。

毋庸置疑,React已经是前端社区里程碑式的技术。React及其生态圈不断提出前端工程化解决方案,引领潮流。在过去一两年里,React也是各种技术交流分享会里炙手可热的议题。

React之所以流行,在于它平衡了函数式编程的约束与工程师的实用主义。

React从函数式编程社区中借鉴了许多约定:把DOM当成纯函数,不仅免去了烦琐的手动DOM操作,还开启了多平台渲染的美丽新世界;在此之上,React社区进一步强调不可变性(immutability)和单向数据流。这几个约定将原本很复杂的程序化简,加强了程序的可预测性。

React也有实用主义的一面,它不强迫工程师只用函数式,而是提供了简单粗暴的手段,方便你实现各种功能——想直接操作DOM也可以,想双向绑定也没问题。函数式约定搭配实用主义,让我不禁想起Facebook一直倡导的黑客之道:Done is better than perfect。

React还是一门年轻的技术,网上能学习的材料也比较零散。本书由浅到深,手把手地带领读者了解React核心思想和实现机制。因为React受到了很多关注,社区里出现了各种建立大型React应用的方案。本书总结了目前社区里的最佳实践,方便读者立刻在实战中使用。

郭达峰

Strikingly联合创始人及CTO

前端高速发展十余年,我们看到了浏览器厂商的竞争,经历了标准库的竞争,也经历了短短几年ECMAScript标准的迭代。到今天,JavaScript以完全不同的方式呈现出来。

这是最好的时代,这是最坏的时代,这是智慧的时代,这是愚蠢的时代;这是信仰的时期,这是怀疑的时期;这是光明的季节,这是黑暗的季节;这是希望之春,这是失望之冬。

这是对前端发展这些年最恰当的概括。整个互联网应用经历了从轻客户端到富客户端的变化,前端应用的规模变得越来越大,交互越来越复杂。在近几年,前端工程用简单的方法库已经不能维系应用的复杂度,需要使用一种框架的思想去构建应用。因此,我们看到MVC、MVVM这些B/S或C/S中常见的分层模型都出现在前端开发的过程中。与其说不断在创新,还不如说前端在学习之前应用端已经积累下来的浑厚体系。

在发展的过程中,出现了大量优秀的框架,比如Backbone、Angular、Knockout、Ember这些框架大都应用了MV*的理念,把数据与视图分离。而就在这样纷繁复杂的时期,2013年Facebook发布了名为React的前端库。

从表现上看,React被大部分人理解成View库。然而,从它的功能上看,它远远复杂于View的承载。它的出现可以说是灵光一现,我记得曾经有人说过,Facebook发布的技术产品总是包含伟大的思想。的确,从此,Virtual DOM、服务端渲染,甚至power native apps,这些概念开始引发一轮新的思考。

从官方描述中,创造React是为了构建随着时间数据不断变化的大规模应用程序。正如它的描述一样,React结合了效率不低的Virtual DOM渲染技术,让构建可组合的组件的思路可行。我们只要关注组件自身的逻辑、复用及测试,就可以把大型应用程序玩得游刃有余。

版权:人民邮电出版社