Caniuse与MDN两网页功能兼容性数据集成

Mozilla宣布将MDN的浏览器兼容数据集成至Caniuse网站中。由于网页标准以及功能五花八门,开发人员常需要花费大量的时间,才能做出决定网页兼容性决策,而决定使用网页平台功能与否的考量,通常取决于网页浏览器的支持程度。为此Caniuse创办人Alexis Deveria,在十多年前创建了网站,来回答网页开发者的日常问题,我可以使用这个功能吗?(Can I use this?)。

约在两年前,MDN(Mozilla Developer Network)团队开始制作浏览器的兼容表格,让开发者与用户有明确的数据参考,不需要猜测网页功能的兼容性,而这也成了拥有超过一万个数据点的大型数据集,目前在GitHub上,有500多名贡献者帮忙更新。MDN的兼容性数据除了在npm作为开放数据公开外,也集成到VS Code和webhint.io等项目上。

而现在两方的数据整合集成到Caniuse网站中,开发者在Caniuse网站的搜索结果,同时也会包含MDN的兼容性数据表格。搜索结果的数据类别,使用Caniuse网站原本就有的HTML、CSS、JavaScript、Web API、SVG与HTTP等类别,只不过再加入MDN的数据后,Caniuse的表帧数从原本约500个暴增到了10,500个,网页开发人员能搜索到更丰富的内容。

新功能表会与原本MDN的功能表有些不同,Mozilla提到,由于MDN兼容数据项目以及Caniuse网站的目标不一样,因此在实例上也会不相同,Caniuse基于MDN数据的新数据表格没有可用元数据的配对字段,像是资源连接和完整的功能描述,不过会加入bug信息、前缀、功能旗标等细节,如此开发者才能在Caniuse上,以相同的方式过滤和排列Caniuse数据和来自MDN的数据。

之所以不先把这两方数据整合,Mozill表示,这个做法曾是他们的考虑选项之一,但由于两个项目数据的差异过大,MDN支持的数据涵盖精细的功能支持,能为所有网页技术提供详细的信息,而Caniuse则是把大功能像是CSS Grid、WebGL或是特定的文件格式支持,当作一个整体,Caniuse以更高层次的信息为开发人员提供支持概览,有时候会缺少细节,而且每个单独功能都是手动添加入Caniuse,主要关注的是浏览器的支持,而非功能整体的支持。

有鉴于两方数据集的差异,Mozilla目前不打算整合数据存储库与配对数据架构,集成的工作则使用Caniuse上的功能描述作为搜索查询,由Caniuse产生适合的功能表格,并将MDN支持数据动态转换成Caniuse格式。