「Web 标准与前端开发」字节青训营 - 寒假前端场
上网指接入Internet,它是地球上相互连接的计算机构成的网络。计算机网络诞生于上个世纪的60年代,标志性通信协议是TCP/IP。
1989年诞生时,Web由三种技术构成: HTML、HTTP、URL
前端发展三大时代
只读时代
1989-2004 HTML/CSS/JavaScript。特点: ·单向发布 ·静态只读 ·链接跳转 ·刷新页面 ·表格对齐元素 ·CGI
体验时代
2005-2010 AjaxWeb APljQuery。特点: ·动态交互 ·社交媒体 ·用户生成内容(UGC) ·单页应用(SPA) ·jQuery ·YUI
Ajax即Asynchronous Javascript And XML(异步JavaScript和XML)在 2005年被Jesse James Garrett提出的新术语,用来描述一种使用现有技术集合的‘新’方法,包括: HTML 或 XHTML, CSS, JavaScript, DOM, XML, XSLT, 以及最重要的XMLHttpRequest。使用Ajax技术网页应用能够快速地将增量更新呈现在用户界面上,而不需要重载(刷新)整个页面,这使得程序能够更快地回应用户的操作。
敏捷时代
2010-2021 Fetch/Node.js/Webpack,特点: ·模块化 ·组件化 ·转译(transpiling) ·打包(bundling) ·React.js ·Vue.js
Node.js对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好,V8引擎执行Javascript的速度非常快,性能非常好,基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。
浏览器:
桌面、移动
CLI:命令行工具
CLI(command-line interface,命令行界面)是指可在用户提示符下键入可执行指令的界面,它通常不支持鼠标,用户通过键盘输入指令,计算机接收到指令后,予以执行。
WebAssembly
WebAssembly是一种新的编码方式,可以在现代的网络浏览器中运行 - 它是一种低级的类汇编语言,具有紧凑的二进制格式,可以接近原生的性能运行,并为诸如C / C ++等语言提供一个编译目标,以便它们可以在Web上运行。对于网络平台而言,WebAssembly具有巨大的意义——它提供了一条途径,以使得以各种语言编写的代码都可以以接近原生的速度在Web中运行。
推荐文档
An overview of HTTP - HTTP | MDN (mozilla.org)
前端推荐的学习路线:
Frontend Developer Roadmap: Learn to become a modern frontend developer
深入理解现代浏览器(Inside look at modern web browser)
中文版链接:
segmentfault.com/a/119000001… 像素的一生
www.jianshu.com/p/2a2424bdc… 浏览器内核
juejin.im/post/5c9f1a… 浏览器如何工作
web标准组织
W3C:World Wide Web Consortium Ecma:Ecma International WHATWG:Web Hypertext Application Technology Working Group IETF:Internet Engineering Task Force
W3C官网:www.w3.org Github:github.com/w3c 规范查询:www.w3.org/Ec
Ecma TC39 官网:www.ecma-international.org TC39:tc39.es Github:github.com/tc39 Discourse:es.discourse.group
WHATWG 官网:whatwg.org/ Github:github.com/whatwg 规范查询:spec.whatwg.org/
IETF 官网:www.ietf.org/ Github:github.com/ietf
- Explainer demo
- Find the right community/group
- Web IDL for APIs link
- Step-by-step algorithms
- GitHub, Markdown, respec, bikeshed, etc.
- Get an early review w3ctag/design-reviews
- Write web-platform-tests(WPT) tests
Ecma TC39规范制定流程
参与方式:
1、W3C会议:年度大会(AC、TPAC),工作组会议(每月、研讨会)
2、Ecma会议:年度大会(GA),TC39会议(,每1-2个月)