本文归纳了一系列软件开发工做者应该学习的编程语言/工具,以便于同窗们理解现代快速更新变化的web开发知识。前端
1、JavaScriptnode
这是惟一一种全部浏览器都理解的编程语言,而且它是前端开发的支柱。JavaScript也被称为ECMAScript,ES 5。在深刻其余语言以前好好理解这门编程语言很是重要。jquery
2、ES6web
这是Javascript语言的扩展,并且许多浏览器正在实现ES6。好处是哪怕是如今,你也能够开始编写ES6代码,由于你可使用transpiler(转译器)如Babel来转换ES6代码为ES5代码。经历这些并了解新功能是一件好事。不过,没有不要钻研得太深由于它们很容易发生变化。npm
3、Babel编程
这是最流行的ES6到ES5转译器之一。此外,它还被许多框架,如React所推荐。要想实时地将ES6转换为ES5代码。json
须要注意的是Babel不只仅是ES6到ES5的转译器。它也是JSX到JavaScript的转译器。不知道什么是JSX?那么请看下面。后端
4、NodeJS浏览器
NodeJS是一个服务器端平台,它容许你用JavaScript语言构建后端。为何我要提NodeJS呢?这是由于,即便你对后端开发不感兴趣,可是许多前端工具依赖于NodeJS。至少要熟悉node和它的命令行工具。ruby
5、NPM
NPM是node的软件包管理器。就像pip之于Python,ruby gems之于Ruby,以及Maven之于Java。了解如何安装/删除/升级软件包,尤为是package.json文件结构。
6、Grunt或Gulp
这两个是运行在Node平台上最为流行的任务运行器。从技术上讲,它们是针对npm的软件包。它们容许你自动化许多前端任务,如Lint源文件,串联,缩减,部署以及更多。
7、Bower
这是用于前端库自己的一个软件包管理工具。想添加Jquery到你的应用程序?和使用bower install jquery同样容易。
上述工具用于基本的前端开发已经足够。不过下面我还要说一说两个最流行的框架,即React和Angular。
8、ReactJs
ReactJs是构建视图最流行的前端库。请注意,它不只仅是MVC中的V,所以和框架如Angular没有比较性。ReactJs是用ES6写的,而且能够用Babel转译为ES5。它还使用也能够用Babel转译为JavaScript的JSX。
9、WebPack或Browserify
这两个都是最流行的模块打包机。它们能够获取js源代码,找出正确的依赖关系,并发出能够驱动整个应用程序的JavaScript文件。我更喜欢WebPack。
10、Flux或Redux
React组件被布置在一个层次结构中。大部分时间,数据模型遵循层次结构。在这种状况下,Flux并不怎么有用。然而,有时候你的数据模型是不分层的。当你的React组件开始接收外部道具,或你有少许的组件开始变得很是复杂的时候,那么你可能会想要试试Flux。
11、Angular 2
Angular 2是JavaScript中最流行的MVC框架之一的下一个版本。它被彻底从新设计过了,而且有一条陡峭的学习曲线。全面支持双向数据绑定。在选择Angular 2开发时要当心评估。
12、Immutable.js
Immutable.js提供了一套数据结构,能够帮助解决在构建React app时的某些性能问题。这是一个伟大的库,你可能会在你的app中大量使用它,可是当你关注于性能影响时,它就彻底没用了。