Web开发标准 | 青训营

125 阅读7分钟

一、了解Web标准组织

1.1 与前端开发四个最密切的标准组织

W3C、Ecma、WHATWG、IETF

名词全称

W3C: World Wide Web Consortium
Ecma: Ecma International
WHATWG: Web Hypertext Application Technology Working Group
IETF: Internet Engineering Task Force

名词简介

W3C:简称就是万维网联盟,是Web的发明者。Tim Berners-Lee于1994年在美国的MIT(麻省理工学院)创办的,Tim写了一本书叫living the web即知网,书中写了自己创建web的一些原始的思考和对web的将来的设想。在全球他有四个总部,包括MIT的创始总部,还有欧洲的数学与信息学研究联盟,还有日本的清英大学,还有我们中国的北京航空航天大学。一般我们说的这个Web标准通常指的都是W3C制定的标准,目前W3C发布的标准大概有400多项。
Ecma:ECMAScript是由网景的布兰登·艾奇开发的一种脚本语言的标准化规范;最初命名为Mocha,后来改名为LiveScript,最后重命名为JavaScript。1995年12月,升阳与网景联合发表了JavaScript。1996年11月,网景公司将JavaScript提交给进行标准化。ECMA-262的第一个版本于1997年6月被Ecma组织采纳。ECMA Script是ECMA-262标准化的脚本语言的名称。尽管JavaScript和JScript与ECMAScript兼容,但包含超出ECMA Script的功能。
WHATWG:简称就是web超文本应用技术工作组,当时是由苹果,谷歌微软等厂商一块从W3C独立出来,为了加快HTML标准的制定。
IETF:简称就是互联网工程任务组,他们是负责制定互联网协议,这些底层的通信标准的组织的标准叫RFC,就是request for comments,即征求意见稿,实际上也类似于那种广泛征求意见之后的一个方案,比如说像RFC675就是TCP协议,RC7540就是http 2协议。

1.2 W3C & EcmaTC39

资料整合:

W3C
官网:www.w3.org
Github:github.com/w3c
规范查询:www.w3.org/TR

EcmaTC39
官网:www.ecma-international.org
TC39:tc39.es
Github:github.com/tc39
Discourse:es.discourse.group

二、W3C与Ecma会员

W3C目前在全球有457家会员,其中北航总部(中国区)会员47家。

Ecma的AM(Associate Member)会员目前有18家,中国公司有字节跳动、360、阿里、华为、腾讯等5家。

三、 W3C规范制定流程

0453aa717a3a6e9a10338b7831e184c.jpg

W3C规范制定流程:

Explainer
Find the right community/group
Web IDL for APIs
Step-by-step algorithms
GitHub, Markdown, respec, bikeshed, etc.
Get an early review w3ctag/design-reviews
Write web-platform-tests(WPT) tests

简述如下:
需求收集:W3C通过与业界专家、利益相关者和社区进行合作,收集对新标准的需求和建议。

草案编写:基于需求收集的结果,W3C成员开始编写技术草案,描述新标准的目标、语法和规范。

工作组讨论:技术草案经过内部工作组的讨论和审查,进行改进和完善。

公开审批:技术草案提交给W3C的公众、行业组织和其他利益相关者进行公开审批,接受反馈和建议。

详解如下:
如果你想给大家再提一个提案,那么你要写一个explainer就是建一个说明文档,就是要解释你提这个提案的动机和他的这个一些用例,在什么场景下使用。
要写一个文档首先然后去找到对应的这个社区或者合适的小组,把这个文档提交到这个小组或者交到他们的会议上去讨论,去让他们去评论或者review你的提案。
然后如果得到认可之后你可以写一个IDL描述将来这个API的接口怎么设计,以及把这个就是每个API的实现的逐步的算法描述清楚。
到了这个规范的阶段的话就要使用w3c就是官方标准制定的一些使用的工具语言和他们专用的这种编写规范的工具。
然后可以找w3ctag,这个tag是非常重要的,像w3c他是技术方面的这个标准的审阅和批准都是由tag ,就是tech architecture group由技术架构组由这个技术架构组team,其实是这个tag的就是主要领导人,一般都是七个人或九个人,如果你能够早一点联系这个tag的相关的方向负责的专家对你这个提案进行评审,那么你就能够就是能够很快的确定自己的正确的方向,这个是非常重要的,可以关注一下他们的成员。
还有一个方面是要写这个WPT,写一些测试用例。

四、Ecma TC39规范制定流程

9639b8699df5722b77bee448dc77464.jpg

TC39规范制定流程:

Championing a proposal at TC39
How to write a good explainer
Presenting a Proposal to TC39
Reading a proposal draft
Stage 3 Proposal Reviews
How to experiment with a proposal before Stage 4
Implementing and shipping TC39 proposals

简述如下:
提案阶段:任何人都可以向TC39提交新的语言特性提案。提案经过讨论和审查,确定是否值得进入下一阶段。

草案阶段:被接受的提案转化为草案,并在该阶段进行详细的设计、规范和实现。

候选阶段:草案经过更严格的验证和实现,确保它们能够在实践中工作,并与其他特性协同运行。

稳定阶段:通过充分的测试和验证后,草案被认为是稳定和可靠的,并准备纳入下一个版本的JavaScript规范中。

详解如下:
你可以在TC39负责一个提案体验的负责人,要写一个说明建议书,然后就是在TC39的会议上要通过PPT的形式或者文档的形式或者demo的形式来展示你的这个提议,然后要看参考其他的草案,然后到第三阶段就要有很多反馈版需要处理和了解。在stage4之前怎么去准备这些提案。另外就是实现该提案,则需要跟一些浏览器厂商进行交流和沟通,最终在浏览器能够发布以支持你这个体验的特性。

五、如何参与————关注会议

1.1 W3C会议

年度大会
AC (Advisory Committee)
TPAC (Technical Plenary and Advisory Committee)
工作组会议
每月会议
各种研讨会

1.2 Ecma会议

年度大会:GA (General Assembly)
TC39会议(每1-2个月)

六、个人思考

本次学习笔记内容是对web的各项开发标准作介绍,对了解web开发标准后若想进行Web开发可以参考下述步骤:创建一个专业的网站、安装基本软件、设想网站样式、文件处理、掌握HTML、CSS、JavaScript的基础知识、最后发布并持续学习。
个人认为,这次学习Web开发标准中的规范制定流程可以帮助我们更好地理解和应用这些技术标准,同时更有利于开发者之间了解彼此的编码,也可以确保所有浏览器正确显示开发者的网站而无需费时重写,此外遵守标准的Web页面可以使得搜索引擎更容易访问并收入网页和更容易转换为其他格式,并更易于访问程序代码(如JavaScript和DOM),所以开发者应在开发过程中遵循指定的标准会有利于 Web 更好地发展。
在日常我们可以关注和理解最新的标准变化和发展动态以跟上Web技术的不断演进。