标准组织
IETF
- The Internet Engineering Task Force
- IETF 官网
- Request for Comments (RFC,记录互联网规范、协议、过程等的标准文件)
- RFC Search ttPage
WHATWG
- Web Hypertext Application Technology Working Group
- WHATWG 官网
- WHATWG Standards
W3C
- World Wide Web Consortium
- W3C 官网
- ALL STANDARDS AND DRAFTS in W3C
- W3C 标准制定步骤(maturity levels)
- Editor's Drafts(ED)(只代表个人意见)
- First Public Working Drafts(FPWD)
- Working Drafts(WD)
- Last Call Working Draft(LCWD) 持续时间不长, 告诉人们 WD 马上就要成为 CR 了, 要提意见赶紧提...
- Candidate Recommendation(CR)
- Proposed Recommendation(PR)
- W3C Recommendation(REC)
- Working Group Note, Interest Group Note (NOTE): 只是一个有用的文档, 并不构成标准
ECMA
- Ecma International 官网
- 下面的 TC39 小组负责制定ECMAScript 标准
- The TC39 Process
- Stage0: 开放提交阶段(Strawman)
- Stage1: Proposal
- Stage2: Draft
- Stage3: Canidate
- Stage4: Finished: 需要至少两个实现
- 被废弃的标准提议列表
三件套对应的标准
HTML
ECMAScript
- ECMAScript Language Specification(ECMA-262)
- ECMAScript® 2016 Language Specification
- ECMAScript 2015 Language Specification – ECMA-262 6th Edition
- ECMAScript Language Specification - ECMA-262 Edition 5.1
State of JavascriptMap of JavascriptJavascript 20年
CSS
标准实现状态
- Can I use... Support tables for HTML5, CSS3, etc
- 腾讯 X5 Caniuse Tests
- ECMAScript 6 compatibility table
- Node.js ES support
- WebKit Feature Status
- Chrome Platform Status
- Web Bugs: 一个搜集浏览器适配 BUG 的地方
- 实验功能
Blink
2013年从 Webkit fork Blink and Chromium are not really separable anymore, 所以他们的 source code 是在一起的
- Git repositories on Chromium
- Chromium homepage
- Chromium For Developers(guide)
- Chromium source code(注意, 直接进入的那个貌似已经废弃了)
- 注意:库很大,需要机器性能很好再 clone
- Chromium 源码目录结构介绍
- Chromium Bug tracker
- Checking out and building Chromium for Mac
- Chromium Code Search
- Blink homepage
Webkit
Servo
基于 Rust, Mozilla 的实验性项目,支持并行渲染!!等着他并入 firefox 的那一天吧。 source code
JS 引擎
[[V8]] — open source, developed by Google, written in [[C++]], used in [Chrome] and nodejs
JavaScriptCore — open source, marketed as Nitro and developed by Apple for Safari(webkit)
- [[React Native]] 默认使用的也是 JavaScriptCore
Chakra -
JScript9
for Internet Explorer andJavaScript
for Microsoft EdgeSpiderMonkey — the first JavaScript engine, which back in the days powered Netscape Navigator, and today powers Firefox
Rhino — managed by the Mozilla Foundation, open source, developed entirely in Java
KJS — KDE’s engine originally developed by Harri Porten for the KDE project’s Konqueror web browser
Nashorn - open source as part of OpenJDK, written by Oracle [[JAVA]] Languages and Tool Group
JerryScript — is a lightweight engine for the Internet of Things
QuickJS - 小型并且可嵌入的Javascript引擎,它支持 ES2020 规范, 包括模块, 异步生成器和代理器
标准测试工具
- web-platform-tests WEB 标准的回归测试
- Test262: ECMAScript Test Suite
- HTML5 test: how well does your browser support html5?
- Acid2 测试, 如果渲染正确, 浏览器打开测试页面会看到一个笑脸(已过时)
- Acid3 测试, 满分 100 分
ES6、ES7、ES8、ES9、ES10新特性一览 by 上沅兮
How JavaScript works: inside the V8 engine by Alexander Zlatkov