对W3C标准,对表现与数据分离、Web语义化等有深刻理解
看了好多微博总结了一下概念,首先先介绍一下W3C?
啥是W3C不是wc,这个建立于 1994 年的组织,其宗旨是通过促进通用协议的发展并确保其通用型,以激发 web 世界的全部潜能,指万维网联盟(World Wide Web Consortium)一个很牛x的组织。
代码标准 w3c官网也可以借鉴w3school对W3C的理解,W3C的标准不是某一个标准,而是一系列标准的集合。
因为网页主要由三部分组成:结构(Structure)、表现(Presentation)和行为(Behavior)。所以W3C对应的标准也分三方面:结构化标准语言主要包括Xhtml和XML,表现标准语言主要包括css,行为标准主要包括对象模型(如W3C DOM)、ECMAScript等。下面是w3c官网详细的介绍:让你更通俗易懂的了解w3c的标准
结构标准语言
1.标签的书写,需要开始和结束。单便签除外;
2.块级元素不能放在p标签里面。li内可以包含div标签;
3.块元素里面可以放在块和内联,特殊的 p和 h1—h6里面不要放块元素,li和div可以放很多。因为这两个标签,本身就有容器的属性;
4.内联里面要放内联,不要放块;
5.结构与表现分离;
6.命名一定要规范;
素材公社https://www.wode007.com/sites/73209.html 爱图网https://www.wode007.com/sites/73208.html
表现标准语言
css的书写,首先要尽可能使用外部引入的方式,因为结构层尽可能的减少表现层的代码过多出现。达到分离的目的。css的选择器有哪些,那些属性可以继承,那些不可以继承。他们之间的优先级是怎么样的。怎么用最简洁的css代码表达设计者的想法,而不只是实现设计者的想法就没事了。我们要的是代码简洁,代码过多,反而让浏览器解析很多,浪费时间。
行为标准
主要是JavaScript中的知识。比如DOM、ECMAScript。使用JavaScript中的标准,即可。一般对于用户的行为,或者说页面上的动态效果的一些特殊实现,我们可以会考虑到使用JavaScript来进行书写,但是代码的可复用性,模块化。变量,作用域。
表现与数据分离:
好处:模块化 –> 容易测试 –> 降低bug频率;
坏处:程序结构复杂,比较耗时,上手有学习曲线;
web语义化
1.我们可以让机器的理解能力越来越接近人类,人能看懂、听懂的东西,机器也能理解;
2.我们应该在发布内容的时候,就用机器可读的、被广泛认可的语义信息来描述内容,来降低机器处理 Web 内容的难度(html 本身就已经是朝这个方向迈出的一小步了)。
实现表现与数据分离的优点和缺点:
优点是: 模块化 --> 容易测试 --> 降低bug频率
缺点是:程序结构复杂,比较耗时,上手有学习曲线
应用场景:
项目具有明显的数据需求,比如要与很多Service交互,业务流程复杂,表单很多
非应用场景:
项目是典型的静态信息展示型页面,或是微型的内部app,或是产品idea验证时期的MVP。