当前位置: 首页 > news >正文

Web标准制定过程

W3C的标准规范是怎么制定出来的?浏览器厂商是收到来自w3c的规范标准才结合自己的浏览器进行开发更新以支持新特性吗?一直很好奇,搜集了一些资料,主要参考了W3C CSS工作组特邀专家Lea Verou写的《CSS揭秘》W3C的官方介绍。

一. W3C

W3C,一直被大众认为是Web标准的制定者,我们遇到的很多问题,大部分都能通过研究W3C官网上发布的文档解决(官方文档也是最好的学习资料,虽然有些地方难以理解,但确是原汁原味和权威的)。但据Verou介绍, W3C扮演的只是一个论坛的角色:

W3C扮演的只是一个论坛的角色:W3C以工作组的方式,把某项技术的相关各方聚集起来,最终由他们来产出标准。它制定了整个平台的规则,监督整个进程。但这些技术规范(基本上)并不是由W3C的工作人员编写完成。

二. 组成成员

CSS规范由CSS工作组成员来负责编写,这些工作组成员不是全部都是W3C的工作人员,主要有以下三种人员:

  • 来自W3C会员公司的成员(88%)
    其实这也解决了一开始提出的问题,浏览器厂商一开始就参与了标准的制定,所讨论的标准,很多都已经在他们的浏览器上实现了。

  • 特邀专家(7%)
    指的是被邀请参与标准制定的Web开发者,都是一些技术大牛。

  • W3C工作人员(5%)
    人数是最少的,为工作组和W3C之间的交流提供便利。

从人员结构上看,参与制定标准主要是W3C会员公司,即那些浏览器厂商,W3C工作人员主要起到一个沟通桥梁的作用。
备注:数据来源于《CSS揭秘》

三. 制定过程

制定过程是公开透明的,内部交流都是公开的。工作的形式:

  • 大多数讨论发生在工作组的邮件列表。可以点击这个链接进行查看:www-style

  • 每周一次电话会议,实时记录在W3C的IRC服务器,几天内发布在邮件列表

  • 每季度一次的面对面会议

再由规范编辑把这些讨论决定写成文字发表

四. 制定流程

每项规范产生大概经过的流程图:

图片描述

  1. 编辑草案:想法的大杂烩

  2. 首个公开工作草案:一个规范的首个公开发布版本

  3. 工作草案:听取意见和反馈进行改进

  4. 候选推荐规范:相对稳定的版本,比较适合实现和测试

  5. 提名推荐规范,W3C成员公司对这项规范表达反对意见的最后机会(很少会提出异议)

  6. 正式推荐规范:技术规范的最终阶段

相关文章:

  • 文本管理工具及正则表达式的元数据总结
  • Linux面试题
  • HDU 5813 Elegant Construction 构造
  • 详解 ML2 Core Plugin(I) - 每天5分钟玩转 OpenStack(71)
  • IOS 压力测试-UI AutoMonkey
  • 将 Measurements 和 Units 应用到物理学
  • LeetCode 92 Reverse Linked List II(翻转链表II)(Linked List)(*)
  • 代理设计模式
  • 3.《Spring学习笔记-MVC》系列文章,讲解返回json数据的文章共有3篇,分别为:...
  • Linux 第九天: (08月11日) 练习和作业
  • 原生js库,持续更新中……
  • MongoDB工具简要说明
  • apk签名
  • Java中创建对象的5种方式
  • OC多态
  • [译] React v16.8: 含有Hooks的版本
  • E-HPC支持多队列管理和自动伸缩
  • Git初体验
  • Java,console输出实时的转向GUI textbox
  • Javascript基础之Array数组API
  • leetcode378. Kth Smallest Element in a Sorted Matrix
  • PV统计优化设计
  • Shell编程
  • SQLServer之创建显式事务
  • 记录一下第一次使用npm
  • 前端 CSS : 5# 纯 CSS 实现24小时超市
  • 我的面试准备过程--容器(更新中)
  • 用mpvue开发微信小程序
  • 仓管云——企业云erp功能有哪些?
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • #if和#ifdef区别
  • #Z2294. 打印树的直径
  • (4) PIVOT 和 UPIVOT 的使用
  • (C语言)逆序输出字符串
  • (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序】超详细~~
  • (Matalb时序预测)WOA-BP鲸鱼算法优化BP神经网络的多维时序回归预测
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (二)Eureka服务搭建,服务注册,服务发现
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (转)mysql使用Navicat 导出和导入数据库
  • .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上
  • .NET/C# 检测电脑上安装的 .NET Framework 的版本
  • .NET版Word处理控件Aspose.words功能演示:在ASP.NET MVC中创建MS Word编辑器
  • .NET设计模式(2):单件模式(Singleton Pattern)
  • .sh 的运行
  • 。Net下Windows服务程序开发疑惑
  • /dev/sda2 is mounted; will not make a filesystem here!
  • [120_移动开发Android]008_android开发之Pull操作xml文件
  • [2013][note]通过石墨烯调谐用于开关、传感的动态可重构Fano超——
  • [AIGC] Java 和 Kotlin 的区别
  • [Android] Upload package to device fails #2720
  • [Android]通过PhoneLookup读取所有电话号码
  • [Angular] 笔记 6:ngStyle
  • [AutoSar]BSW_Com07 CAN报文接收流程的函数调用
  • [BT]BUUCTF刷题第4天(3.22)