现代Web开发需要学习的15大技术

开发 前端
本文概括了一系列我们应该学习的编程语言/工具,以便于理解势不可挡和快速变化的现代web开发。

将近4年前,我写了一篇名为《Future of Web and Mobile: HTML5, CSS3 and Javascript》的博客文章,其中我提到了Javascript的出现,以及JavaScript框架,例如jQuery、Knockout等的爆 发。

快进到现在,我发现现代web开发再一次将发生压倒性的改变。信息资讯的铺天盖地令人迷惑,尤其对于初学者而言。首要原因是新的框架,例如 Angular 2和ReactJs出现了,使用了尚未完全定型的ECMAScript 6特性。并且有更多的工具可用于转换ES6代码为普通的旧的JavaScript代码,也就是ES5。

我概括了一系列我们应该学习的编程语言/工具,以便于理解势不可挡和快速变化的现代web开发。

JavaScript

这是唯一一种所有浏览器都理解的编程语言,并且它是前端开发的支柱。JavaScript也被称为ECMAScript,ES 5。在深入其他语言之前好好理解这门编程语言非常重要。

ES6

这是Javascript语言的扩展,而且许多浏览器正在实现ES6。好处是哪怕是现在,你也可以开始编写ES6代码,因为你可以使用 transpiler(转译器)如Babel来转换ES6代码为ES5代码。经历这些并了解新功能是一件好事。不过,没有不要钻研得太深因为它们很容易发 生变化。

Babel

这是***的ES6到ES5转译器之一。此外,它还被许多框架,如React所推荐。要想实时地将ES6转换为ES5代码,在https://babeljs.io/repl/有一个可用的REPL。

需要注意的是Babel不仅仅是ES6到ES5的转译器。它也是JSX到JavaScript的转译器。不知道什么是JSX?那么请看下面。

NodeJS

NodeJS是一个服务器端平台,它允许你用JavaScript语言构建后端。为什么我要提NodeJS呢?这是因为,即使你对后端开发不感兴趣,但是许多前端工具依赖于NodeJS。至少要熟悉node和它的命令行工具。

NPM

NPM是node的软件包管理器。就像pip之于Python,ruby gems之于Ruby,以及Maven之于Java。了解如何安装/删除/升级软件包,尤其是package.json文件结构。

Grunt或Gulp

这两个是运行在Node平台上最为流行的任务运行器。从技术上讲,它们是针对npm的软件包。它们允许你自动化许多前端任务,如Lint源文件,串联,缩减,部署以及更多。

Bower

这是用于前端库本身的一个软件包管理工具。想添加Jquery到你的应用程序?和使用bower install jquery一样容易。

上述工具用于基本的前端开发已经足够。不过下面我还要说一说两个***的框架,即React和Angular。

ReactJs

ReactJs是构建视图***的前端库。请注意,它不仅仅是MVC中的V,因此和框架如Angular没有比较性。ReactJs是用ES6写的,并且可以用Babel转译为ES5。它还使用也可以用Babel转译为JavaScript的JSX。

WebPack或Browserify

这两个都是***的模块打包机。它们可以获取js源代码,找出正确的依赖关系,并发出可以驱动整个应用程序的JavaScript文件。我更喜欢WebPack。点此查看关于WebPack。

Flux或Redux

React组件被布置在一个层次结构中。大部分时间,数据模型遵循层次结构。在这种情况下,Flux并不怎么有用。然而,有时候你的数据模型是不分层的。当你的React组件开始接收外部道具,或你有少量的组件开始变得非常复杂的时候,那么你可能会想要试试Flux。

Immutable.js

Immutable.js提供了一套数据结构,可以帮助解决在构建React app时的某些性能问题。这是一个伟大的库,你可能会在你的app中大量使用它,但是当你关注于性能影响时,它就完全没用了。

Angular 2

Angular 2是JavaScript中***的MVC框架之一的下一个版本。它被完全重新设计过了,并且有一条陡峭的学习曲线。全面支持双向数据绑定。在选择Angular 2开发时要小心评估。

TypeScript

Angular 2推荐TypeScript作为编程语言的***。我不是很熟悉TypeScript,但我认为它增加了静态类型到Javascript的动态特性中。***,我相信它只是一个转译器。

Service workers

实验性的API。它就像是在浏览器用于做各种工作的一个后台线程。我想它也增加对离线浏览的支持。

Fetch API和Push API

请自行阅读链接。因为到目前为止我自己对此也是知之甚少。

译文链接:http://www.codeceo.com/article/15-teches-web-developer-need.html
英文原文:Things to learn for Modern Web Development

责任编辑:王雪燕 来源: 码农网
相关推荐

2022-10-27 20:37:53

开发web框架

2022-03-02 16:05:16

Web前端代码

2023-04-02 14:07:08

2017-07-26 13:51:19

前端JavaScriptTypeScript

2009-06-18 12:06:30

Java Web开发框

2017-08-07 18:45:51

前端JavaScript技术栈

2023-05-11 15:36:29

2021-02-22 22:05:26

软件开发应用程序开发

2011-01-10 10:16:12

最新Web开发技术

2014-02-27 10:24:45

Web技术编程语言

2023-07-04 14:23:05

2011-09-20 09:27:50

Web

2023-04-10 15:47:42

PythonGUI 库开发

2012-08-10 14:31:12

Web

2017-05-05 10:55:31

Web应用登录工程身份验证

2021-02-26 09:00:00

开发Web技术

2024-01-15 17:26:26

JavaScriptWeb开发

2023-01-04 11:40:41

编程语言Web开发

2011-11-07 16:42:21

光纤技术数据中心

2011-12-08 09:16:12

点赞
收藏

51CTO技术栈公众号