自己搞网站做外贸,手机百度极速版,物流网站建设方案总结,建网站必需服务器吗Bert Bos是一位计算机科学家#xff0c;他也是CSS的创始人之一。在CSS的发展过程中#xff0c;Bos是最早与Hkon Wium Lie#xff08;CSS之父#xff09;合作的人之一。在1996年#xff0c;他加入了World Wide Web Consortium#xff08;W3C#xff09;负责CSS的开发。他… Bert Bos是一位计算机科学家他也是CSS的创始人之一。在CSS的发展过程中Bos是最早与Håkon Wium LieCSS之父合作的人之一。在1996年他加入了World Wide Web ConsortiumW3C负责CSS的开发。他曾任CSS工作组的主席现在是工作组的W3C代表。 在此之前Bert在格罗宁根大学研究期间独立开发了Argo浏览器这是为他的样式表提案而开发的测试应用。Argo浏览器可以处理其自带的SSP样式表语言利用这种新浏览器语言他创造了一种CSS标准。随后Lie和Bos合作一起把CSS发展成为了W3C Recommendation。 采访高博 | 整理李盼 问Bert先生您曾多次来过中国。您感觉近来中国的Web开发者正在发生哪些变化 我2008年的时候来过北京我之前也去过香港和深圳。虽然中国起步较晚但是现在越来越多的公司加入了W3C其中有浏览器公司也有搜索公司。虽然相比于美国、欧洲、澳大利亚来说中国开始得晚但是现在来看中国的开发者已经和世界各地的开发者们没有什么区别了他们做同样的修补、问类似的问题拥有同样的布局困扰。 问您认为中国的开发者虽然起步晚但是现在已经赶上了 是的。从各家公司来看虽然中国的开发者在起步时落后了一段时间但是现在已经赶上了技术上已经同步。 问现在CSS已经变成了Web开发不可或缺的一部分但是其实CSS的概念却并不是一开始就必然有的已经有了HTML描述内容有了JavaScript描述行为和交互可以说它是从无到有地被人为发明出来的您作为CSS的创始人之一是否能告诉我们在早期发展阶段是如何产生需要一套样式表的想法早期开发过程中又有什么样的故事 Håkon Wium Lie和我发明了CSS但是我们并没有发明样式表这个概念这个概念很早以前就存在。我们发明的只是让网页开发更加简单的具体语言而已。但是用样式表记录和构造内容的概念要比这个早得多。在一本书上你想要什么样的字体什么样的图画多大的边缘都是样式表要做的这些概念已经存在了很久。而用计算机语言表述的电子化样式表也已经在上世纪80年代中期就出现了。 这么说吧ML是在HTML之前出现的HTML是在XML基础上构建的而XML很早以前就有了样式表。我们研究了XML早期的样式表概念也研究了当时仍然在发展中的样式表的概念从中吸取了很多好的创意。另外我们在一场大会上遇到了HTML的发明者在那里我们听到了很多人对样式表的需求。虽然这些人我们以前从没打过交道但是从他们身上我们获得了很多关键想法。 可以说对于我们这并不是一个发明出来的概念但是对于很多其他人来说一切都是从HTML和CSS开始的。但是我知道它们只是进化的一部分。 问CSS的全称是cascading style sheet层叠样式表请问为什么是cascading层叠而不是其他的词比如combining组合 Håkon Wium Lie有一个主张视图由两部分组成一部分是提供者所认为人们应该看到的样子一部分是接收者在屏幕上实际阅读的文档。从最开始我们的设计理念就是接收者也需要对视图的结果有影响。即在得到内容之后你可以自己把它调成想要的样子。内容和样式从提供者那来提供者可以规定具体的颜色和大小。但是接收者可以根据屏幕的特殊性使用不同的字体或颜色。这就是我们的理念多重影响、多重样式表整合在一起这也就是层叠样式表概念的基础。层叠的意思就是一样东西叠加在另一样之上层叠就像瀑布互相叠加最终得出结果这是一个比喻。 问您的背景是数学专业请问这样的背景在您创造CSS的时候是否有什么帮助和影响 在计算机科学中我学习了语法另外我还学习了一些人工智能语法解析对我也有很大的帮助。在语言设计上我们尽量做出容易阅读和解析的语法。所以说计算机方面的学习对我的帮助比数学要多。 问您曾经创造了一个名叫Argo的浏览器并在上面测试CSS是这样吗 不是这样Argo并不是为了测试样式表而是为了让大学中非技术学院的师生比如艺术学院历史学院可以自由上网为了让他们能够在网上交换文件阅读馆藏目录收发邮件等等。所以我的目的是要创造一个非常好用的浏览器它要支持HTML同时也要支持XML因为在某些学院中XML的使用率更高。比如有人在研究《圣经》他们需要比对不同版本的《圣经》这些文件都是通过XML呈现的。他们也需要样式表所以我的浏览器里就要有样式表语言。样式表中有一些有趣的概念但是在当时他们并没有注意语法并不是每个人都想写代码。Håkon Wium Lie这时候也发表了自己的想法我觉得我们的想法可以结合起来。 问作为CSS的创造者之一您可能是回答这个问题的最好人选CSS最根本的目的是什么是什么目的可以跨越时间这个目的将如何影响未来的开发 有几个目标它们随着时间也在进化。第一个最主要的原因就是要保护HTML。当时我们看到有一些公司包括Mozilla为了让呈现效果更好开始在HTML上面加东西。我们认为内容和样式应该区别开来因为在不同设备和屏幕上你想看到不同样式但是相同的内容。为了保护HTML的稳定性有很多人不只是Håkon Wium Lie和我也在尝试做相同的事情。我们知道我们需要另外一种语言来保护HTML这就是我们创造CSS的直接原因。 另外一个理由就是一旦你有一个专业的用来布局的语言可以做的事就更多了。这些事如果只用HTML很难完成而对于专门的语言则是小菜一碟。另外如果你完成了一个样式之后你可以反复利用这样效率也更高。同时因为这是专门处理样式表的语言所以它也更紧凑。用HTMLCSS比单纯使用HTML代码更少更简洁。 这些就是我们早期创造CSS的理由。但是随着时间推移其他的理由浮出水面。比如团队编写文挡一些人可以专门写文档另一些可以专注于样式。这就是传统出版的概念书就是这样出版的。有人写书但是他们并不负责排版这个概念很传统在Web上也同样适用。 晚些时候又有一些概念出现了比如说执行效率。从某个时刻开始我们可以实现动画了你可以用其他语言比如JavaScript或者插件来完成动画但是我们注意到采用CSS做这件事更容易。CSS是陈述式的所以你不需要写专门的程序就能实现。你可以陈述从一个对象的动作哪里开始到哪里结束中间采用什么路径。如果用JavaScript的话需要执行循环电脑可能无法预测该如何执行。但是你用CSS在浏览器中执行的话它们就能看到事情是如何进展的应该在哪里结束。所以你就可以做优化可以预测动画。这也让动画变得更有效率在屏幕上的效果也更好。执行效率也是CSS将在HTML上完成更多应用的最重要的原因。 问如今PC上的流量已经被移动端所侵蚀您认为CSS将如何助力这场Web应用和本地应用之战 我不认为这是一场战争两者都有生存的空间。但是我们确实想要Web平台变得和本地平台一样强大。因为Web应用一旦写成可以在任何地方任何设备上运行效率更高也更便宜。所以我们确实希望Web平台能完成本地平台那些功能。CSS也一直在努力寻找边界什么是属于CSS的什么是属于SVG的其中有一些很难界定。但是我们认为CSS还有更大的空间我们想要在CSS里做的更多。因为人们发现就算他们在SVG里面做某些事比在CSS中更容易但是还有很多工作他们愿意使用SVG和CSS并行开发。我也和JavaScript API的工作组一起工作JavaScript是对接GPS、动作感应这些功能的接口这些设计也连接了不同设备的API接口。 很多时候我们也会根据人们和设备的交互而改变样式所以我们认为可以有更多东西出现在CSS中。经常会有人提议CSS里应该有什么但是我们觉得有些东西应该在其他地方完成比较好。所以我们需要具体分析人们的需求是什么而我们能提供的是什么。 问可以看出CSS是一个好的答案但并不是所有问题的答案。很多人对预处理器这个话题很感兴趣他们对于使用这些预处理器有一些顾虑对此您有什么观点 我很惊讶预处理器出现得这么晚我还以为SassLESS会出现得更早一些呢。因为CSS是一种简单的基于文本的语言写预处理器并不难。人们确实也利用预处理器完成了更加专业的设计但并不是每个人都需要预处理器你必须首先是个程序员才能使用它。但是如果你是个程序员的话那么Sass这样的工具就对你就很有帮助。 工具的出现对于我们工作组来说也是一件好事预处理器减轻了CSS的压力。我们可以专注于功能字体以及布局不需要再考虑诸如变量之类的程序员喜欢的功能了因为这件事已经在预处理器中完成了。另外人们还可以选择他们喜欢的预处理器如果我们在CSS中预置了预处理器的话那就只有一种方式。但是现在大家可以选择SassLESS甚至你可以选择使用PHP。我认为预处理器是对于专业设计师来说是非常重要的。 问CSS中加入自定义属性的原因是什么 变量对于程序员来说很重要如果你要写大量样式表的话所有这些都可以在Sass和LESS中完成。我并不认为W3C工作组应该来定义来如何完成工作我们只负责创造核心语言属性和值而其他人可以来决定该如何写CSS。但是现在我们有变量了加入变量的原因就是我们发现可以通过自定义属性和值让CSS变得更加常规。在自定义属性方面我们利用CSS自己的机制cascading层叠这意味着你可以把变量附加在元素上这样你不仅可以附加样式属性还可以在文件上附加任意属性。对于应用来说这很方便比如你有文件和结构你需要把某些东西发展为高等级元素你可以用CSS来附加这些值你可以在HTML中这样做但是用CSS更简单。这就是我们现在有自定义属性和值的原因。 如果你想用变量的话那就用Sass就可以了。但是越来越多的人会开始使用自定义属性自定义属性在未来有很多可能性还有很多值得期待的有趣的功能可能会出现。 问模块化似乎和CSS的思想相悖能谈谈引入如此设计的缘由吗 有两种模块化。在工作组中我们分头制定更细化的规格这是模块化的一种。我们这么做的原因在于这么一来规格的制定过程更简化也可以在更小的规模上测试。但这和CSS中的模块化结构几乎没有什么关系在这种意义下我们并不是在模块化CSS而是在模块化我们的内部流程。因为我们不可能在同一时间做所有的事我们需要聚焦在某个属性上然后再研究下一个。 另外一种模块化是人们写样式表的方式你可以写很多样式表然后把它们融合起来多重输入可以帮你把自己工作变成自己的样式表。 甚至还有第三种意义虽然还没有开始但是在工作组中已经开始讨论。我们开始讨论让其他制订人在CSS中加入特性我们需要有另一种方式来模块化CSS所以我们需要某种语法JavaScript或其他语言的接口让人们可以在CSS中加入特性同时也符合CSS语法。你可以用自己的样式表也可以插入扩展。虽然这件事还不存在但是已经在讨论中了。虽然目前有两种模块形式但是未来有可能模块化会有第三种意义。 问CSS正在努力赶上XSL到那一天XSL是否就成为多余的了 要预言未来很难。现在XSL在出版行业的应用仍然很广人们出版书籍使用的依然是XSL。但是正如我说过的我们现在已经不再开发XSL了因为找不到足够的人来组成工作组。虽然我们也希望能有新版本的XSL现在仍然是版本1但是我们目前没有计划开发下一个版本。也许我们很快能组件一个工作组也许我们永远都不会这些事都说不准。 现在我们的精力都集中在CSS上人们希望能用CSS完成XSL能够完成的工作。XSL的功能都是为了出版而设计生成索引、目录等等。我们未来会实现这些功能但是并没有明确的日期。 除此之外我们还有一大堆的事儿要做。在我们停止XSL工作组之前已经有了一些为XSL版本2提交的需求这些都是使用者向工作组提出希望XSL能实现的功能。这些需求仍然存在我们可能会在CSS中一并实现这些功能但是这就是再下一步的事儿了。 问CSS已经快20岁了您从一开始就参与了开发工作这么多年下来回头看看哪些功能是您最喜欢的哪些是您最不喜欢的 我最喜欢CSS的一点就是几乎所有人都能写CSS。任何人都可以找一些例子在网上看看其他人是怎么做的然后就可以写自己的样式表了。这一点现在反而不那么强烈了因为语言越来越大样式表变得越来越复杂。但是我仍然认为要写CSS并不难。你不需要是一位专业人士就可以写一些Web文件一些HTML再来一点CSS。但是当然为了完成更高级更完善的展示我们也需要专业人士。相对来说XSL就不具备这样的品质XSL是为专业人士而设计的。 最不满意的……可能就是我们没能做好的功能比如定位。这个功能让你可以在CSS中把一个元素通过横纵坐标放到屏幕上特定的一点上。在1996年CSS最开始的时候我们就想要做这个功能。当时的一个文档解释了我们将如何布局、修改屏幕以及如何写在任何位置。我们把其称为frame这比HTML的frame出现时间还要早。我们现在把这个概念称为regions浏览器和工作组的概念都是同样的但是96年对于这个概念来说太早了。那个时候的浏览器无法完成今天所能完成的工作。当时HTML只有两岁记录的只是一个序列从第一个字母开始到最后一个字母结束。所以 “在屏幕上制造一个事件”这样的概念过于先进了。但是另一个概念应运而生就是额外帧它从一个非常小的概念出发逐渐发展成一个非常灵活的概念这也就是现在flex box出现的原因。这是我们现在尽最大努力能做到的了。 问除了W3C工作组之外的时间您是否还做一些其他的项目您是否考虑过自己写一个框架 我是想过要写一个框架但是从来都没有时间来做这件事。除了W3C工作组之外我还有一个MathML工作组但是工作基本已经结束了我们已经完成了MathML第3版暂时还没有创建下一个版本的计划。 其余的时间我自己也在做一些项目但是和CSS完全无关是关于网络安全的。在欧洲欧盟会对相关研究予以补贴每个人都可以申报研究项目但是项目必须以合作形式完成个人和单独机构都无法申请。W3C和比利时鲁汶大学、都柏林大学、SAP德国公司联手一起申请了网络安全方面的研究。我们的研究涵盖了很多广为人知的网络问题但是也包含了一些鲜为人知的问题这是个很有趣的项目。很多研究工作在大学中进行而执行工作在公司中进行两边的工作需要互相协调标准化的工作在W3C以及其他一些机构中进行。这个项目占据了我很多时间但是我从中学到了很多。 问非常感谢您抽出宝贵时间接受采访希望您下次来中国时带来更多精彩内容。