Web标准与前端开发|青训营笔记

80 阅读3分钟

这是我参与「第四届青训营 」笔记创作活动的的第5天

Web标准与前端开发

前端的三个时代

只读时代

1989-2004

HTML/CSS/JavaScript

  • 单向发布
  • 静态只读
  • 链接跳转
  • 刷新页面
  • 表格对齐元素
  • CGI

体验时代

2005-2010

Ajax/Web api/Jquery

  • 动态交互
  • 社交媒体
  • 用户生产内容(UGC)
  • 单页应用(SPA)
  • Jquery
  • YUI

敏捷时代

2010-2021

Fetch/Node.js/Webpack

  • 模块化
  • 组件化
  • 转译
  • 打包
  • React.js
  • Vue.js

前端应用的领域之浏览器

关于前端开发的应用领域,接下来再从运营环境角度看一看。 首先,浏览器,包括桌面浏览器和移动浏览器,以及移动App中的WebView,都属于浏览器直接渲染Web应用的范畴; 桌面浏览器包括Chrome、Edge、Firefox、Opera、Safari这五个主流浏览器,事实上随着谷歌Chromium开源项目的不断攻城掠地,也随着开源运动的不断属性,浏览器的多样性正在减少。因为Edge和Opera都已经选择站到了谷歌的阵营,所以事实上只有Chrome、Safari和Firefox三个浏览器。目前,Chrome浏览器的市场份x0008额达到67.55%,具有事实上的垄断地位。 移动浏览器主要是Chrome、Safari,还有国内小程序提供商定制的一些浏览器引擎。换句话说,前端不仅要开发在浏览器和WebView中运行的网页,也要开发在小程序运行时上跑的小程序。

前端应用的领域之服务器

其次,服务器,服务端的开发目前主要还是依托于Node.js这个成熟的JS运行时,npm包管理平台已经成为世界最大的程序包管理平台,2019年6月超过100万。 当然,还有Express、Koa等Web开发框架的生态。 最后,大家也要关注Deno这个新的JavaScript安全运行时。Deno号称是安全运行时。而且,Deno也是Node.js之父Ryan Dahl一手打造的。在发布Deno的时候,Ryan Dahl曾经痛陈“Node.js十大遗憾”。

前端应用的领域之终端和跨端

第三,终端和跨端,这个应用领域通常是开发者工具,比如命令行工具里的Webpack、Babel、React、Vue都有CLI(Command-Line Interface)版,而桌面跨端主要有Electron和NW.js,目前世界上最流行的编码环境VSCode就是基于Electron的一个Web应用。

浏览器、网络、服务器

最后,我们学习前端开发,一定离不开前端代码运行的环境。那就是浏览器、网络和服务器。 这里推荐一篇长文“深入理解现代浏览器”,这篇文章以Chrome作为现代浏览器的示例,图文并茂在讲解了浏览器的工作原理,解释了在地址栏输入URL之后,回车,都会发生什么。

深入理解现代浏览器

关于网络和服务器,也需要理解基本概念和原理。 这里有MDN的一篇文章,是HTTP的简介,涉及HTTP请求和响应的过程及概念。 关于Web服务器的能力,包括本地文件系统和文件操作、网络和管道API、套接口、子进程等方面。

An overview of HTTP

关于Web标准

W3C

官网:www.w3.org

Github:github.com/w3c

规范查询:www.w3.org/TR

Ecma TC39

官网:www.ecma-international.org

TC39:tc39.es

Github:github.com/tc39

Discourse:es.discourse.group182021

WHATWG

官网:whatwg.org/

Github:github.com/whatwg

规范查询:spec.whatwg.org/

IETF

官网:www.ietf.org/

Github:github.com/ietf192021

\