## 介绍
前端开发发展很快。一个好的迹象是新技术出现的速度。[Webpack](https://webpack.github.io/)和[React](https://facebook.github.io/react/)是最近的焦点。两者结合起来,这些工具能让你开迅速的开发各种各样的web应用。更重要的是,学习这些工具能扩展你的视野。这就是本书的目的。
## Webpack是什么?
Web浏览器被设计来装载HTMl,JavaScript和CSS。最简单的方式开发Web是直接写浏览器能理解的文件。问题是这个方法到最后会变得很笨重。尤其是你再编写Web应用程序时。
这里有很多方式解决这个问题。你可以开始分离你的JavaScript和CSS文件。你可以通过`script`标签加载依赖。尽管这会好一些,但任然会有一些小问题。
如果你需要使用一些技术编译成这些目标格式,你将引入预处理过程,任务运行,像Grunt和Gulp,可以上你实现这些,但尽管如此,你还是需要亲手写一些配置。
### Webpack怎么样改变形式?
Webpack采取了另外一条路。它允许你把你的项目当成一个依赖图。你在你的项目里可以有一个*index.js*文件,这个文件通过标准的`import`语句拉取依赖到项目中来。你可以采用相同的方式引入你的样式文件或者其他资源。
Webpack通过你特定的配置帮你完成所有的预处理,并给你打包好的文件。这个方法相当的强大,但是学习会有些困难。然而,一旦你开始明白WebpacK如何工作,它将成为一个不可或缺的工具。这本书就是陪伴你度过最初的学习曲线。
## React是什么?
Facebook出品的React,是一个Javascript库,一个基于组件的视图抽象。一个组件可能是一个表单文本框,一个按钮,或者其他任何在你界面里的一个元素。这里提供一个有趣的对比,在早期的实现中,react并不是设计来绑定到DOM上的。比如你可以使用它实现一个手机应用。
### React只是全部的一部分
考虑到React仅仅关注视图,你需要使用其他库来补足你缺失的功能。这里也提供了一个和框架有趣的对比。框架实现了你能开箱即用的很多东西。这两种方法都有优缺点。在本书中,我们会倾向于讨论库的实现。
React引入的思想已经影响了框架的发展。最重要的是它帮助我们理解基于什么样思想的组件才适合Web应用。
## 你将学到什么?
![](https://box.kancloud.cn/2016-05-12_57349213642b5.png)
这本书教你构建一个[Kanban](https://en.wikipedia.org/wiki/Kanban)应用。除此之外,Web开发理论方面的知识将会讨论。完成这个项目对于怎么实现你自己的项目会很有启发。通过这个过程,你将明白当前的库为什么这么有用,也将证明你将有更好的技术选择。