推荐序1
时光回溯。
2011年我离开Google转而加入Facebook,从事移动互联网(Mobile Web)的核心产品开发工作。
随着时间的推移,工作上逐渐取得了许多有意义的巨大进展,同仁们也都深以此为傲。然而不是所有的事情都进展得特别顺利。其中一个很大的问题与挑战就是因为HTML5 的技术限制与
性能瓶颈,许多产品的开发工作受到了限制。
2012年Facebook公开了一件很多人深有体会却不想说出口的事实,那就是HTML5之类的Web技术并未成熟到能够担任产品开发工具重任的程度。在很多方面,使用原生
代码(native code)开发仍然是必要的选项。
对于很多
包括我在内的Mobile Web开发者来说,这样的情况是一个让人失望却又不得不接受的事实。
2013年年初,我离开工作两年多的移动互联网开发部门,转而投入广告部门,从事桌面富客户端(Rich App Client Application)的开发工作。
虽然Mobile Web的进展不如预期理想,但此时在Desktop Web方面,事情却有了有意思的变化。
当时我参与的新项目主要是要使用一种叫作React的新平台技术,将当时广告部门的一个主要产品重构。项目的有趣之处在于,产品的视觉外观与
功能将不会也不能有任何变化,但是内部执行的
代码将会是以React打造的。
由于项目的目标为实际上线且对公司营收有重要影响的产品,所以项目的挑战除了在于应用React这门新技术之外,维持产品本身的稳定当然也是不可妥协的目标。
所幸,项目顺利达标,而同仁们也对于React这门技术有了更丰富的经验与更强的信心。就连React本身也
快速吸收众人的回馈,
快速演进。
我从事Web前端开发工作已经十年,有幸亲身经历众多重大的技术变革与范式转移。我可以负责任也很喜悦地说,作为一门新生技术,React及其相关工具对于从事Web开发的人来说,将会产生巨大且革命性的影响。
虽说React初始是为了
解决Facebook广告部门在产品开发上遇到的很多实际问题,但实际应用的层面却非常广泛。
2015年Facebook也开源了ReactNative,让React能够在iOS移动终端执行(对Android的平台
支持预计为2015年年底)。
由于React的特殊设计,React消弥了客户端与服务器端的开发界线。最近的发展则更进一步衍生到Mobile Native App与其他非传统Web(HTML+CSS)的执行环境。
无论你是有多年经验的开发者,或者是刚入门的新人,此时选择React都会是一个很好的选择。
React 可以
解决很多传统Web开发架构碰到的艰难问题,同时由于它是一门新生技术,开发者将更有机会掌握一门强大的开发工具,
解决更深入的艰难问题并提升产品开发的质量与境地。
作为一本入门书籍,本书提供基本但足够的范例与介绍,着重在实际的
代码与操作应用,可以让读者
快速学习React的相关知识与技术,并实际打造可执行的程序。
相信对于需要使用React 开发的人来说,这将会是一本不错的入门参考。
必须要补充的是,目前由于React还在Beta版本阶段,本书的
内容主要是以v0.12为主。目前公开的最新版本为v0.13,书中提到的API将会略有差异,细节方面可以在它的官方网站上
查询(https://facebook.github.io/react/blog/2015/02/24/streamlining-react-elements.html)。