React: an open-source declarative JavaScript library for building user interfaces.
Redux: a predictable state container for JavaScript apps. It helps you write applications that behave consistently, run in different environments (client, server, and native), and are easy to test.
Webpack: constructs two separate dependency graphs and emits bundle (compressed) files.
Gulp: a task/build runner for development, who can compile sass files, uglify and compress js files and much more.
Karma: a tool that enables the running of source code (i.e. JavaScript) against real browsers via the CLI.
NPM: Node Package Manager, who provides two main functionalities: Online repositories for node.js packages/modules which are searchable on search.nodejs.org. Command line utility to install Node.js packages, do version management and dependency management of Node.js packages.
ESLint: a tool for identifying and reporting on patterns found in ECMAScript/JavaScript code, with the goal of making code more consistent and avoiding bugs.
PhantomJS: a headless WebKit scriptable with a JavaScript API, or in simple terms, PhantomJS is a web browser without a graphical user interface.
Jasmine: Jasmine is a behavior-driven development framework for testing JavaScript code.
Oboe.js: an open source Javascript library for loading JSON using streaming, combining the convenience of DOM with the speed and fluidity of SAX.
Babel: a configurable transpiler, a compiler which translates from Javascript to Javascript unlike a compiler which translates high level application code into lower level code or binaries.
前端的技术确实如百花齐放,发展速度太恐怖了,但是总感觉缺少头绪,除了那些好些年不怎么办变化的基础,需要有一些意在最佳实践的开源项目来梳理梳理,把这些东西像 IDE 整合一大堆插件一样整合起来,天下代码一大抄,这会给很多项目开头的工作减少很多成本。我想起几年前用的 Grails,就干了类似的事情,但它并非是着力于前端的,因此还是很不一样的。