HTML 规范未来还需要哪些新内容?

HTML5 规范在 2014 年正式发布。时至今日,虽然这一规范已经引入了许多新的 API、功能和改进,但许多开发人员已经在展望下一代 HTML 规范了。

一点点背景介绍

有些人还是不知道 HTML 标准是怎样制定出来的。具体来说,一些组织提出自己的模式和协议,希望浏览器接受并使用它们;但很显然,唯一真正有话语权的组织是 W3C 。所以 W3C 来分析 Web 世界需要什么,然后他们编写并规划一些语言指南,这些指南最后将成为浏览器的标准。

早在 Internet Explorer 时代 W3C 就已经成立了,但微软其实并不关心什么标准规范,他们只是我行我素而已。这种状态一直持续到谷歌 Chrome 诞生,后者改变了游戏规则。是的,谷歌浏览器有时也不在乎标准规范,但起码它会带来一些不错的内容,那么 W3C 最后就会把这些内容塞进 HTML 标准文档里。谷歌的力量是很强大的。

HTML6 真正需要的功能

好吧,我知道其实根本就不会有所谓的 HTML6 版本。还有一件事情可能会更让你惊讶,那就是今天我们用的也不是 HTML5 标准,因为这个标准是在实时更新中的,被称为“动态标准”。现在我们正在使用的是 HTML5.2,而 Web 开发工作会关注未来将要用到的 HTML 规范。所以我们迟早有一天会进化到下一代 HTML 标准时代,但这种进化是渐进的,不会一夜之间完成。

既然如此,下面我会提出一些我希望未来的标准能实现的功能。

更多原生元素

如果我们想要使用用户设备的相机,正确的方法是先捕获视频流,然后将其显示到一个视频元素中,然后拍下一张快照,再把快照的这帧图片绘制到画布中。这听起来比我们期望的步骤要复杂不少。

在下一个 HTML 正式版本中,我们应该能够更轻松地处理更多原生组件,从而制作水平更高的的 Web 应用程序和 PWA(渐进式 Web 应用程序),最终实现史蒂夫乔布斯的梦想。

这些元素将带有自己的 API,其中一些甚至不需要 HTML 元素,如 NFC、联系人、短信或 VR 访问等。

新元素

Web 开发产业已经证明 Web 技术不仅可以用来构建网站,还可以构建复杂的 Web 应用程序和界面;因此为了更好地管理我们的 DOM,我们应该有更专门化的标签。

我们可以不用带有 id 属性的<div>,改为在 CSS 样式表中处理效果会更好。一些开发人员建议我们可以通过名称标签直接调用 id,但我真的不认为这是一个好主意。

	
<router></router>
<script>
    var element = document.getElementById(“router”);
</script>

其实这没什么用途,因为我们已经有了 getElementByName(),而且它会让我们区分自己的标签和 HTML 原生标签,后果会很糟糕。

	
var tag = document.getElementsByName(“tag”);

你之前看过相关内容的话,可能已经知道有一种方案提出了一种新的标记来处理专用的原生 html 标签,但这种方法既没什么用又很占地方,会让网站变得更加臃肿,性能却没有提升。

我的解决方案就是一如既往继续使用标签,但使用新标签来帮助响应式编程、网页设计师和开发人员创建更好的网页布局。

记住 KISS 原则,保持简单,大智若愚。

预处理器

我不是很喜欢这个东西,但很多开发人员都很喜欢它,所以它应该是个不错的功能。它能改善 Web 编码效率,即使这增加了 CPU 占用率,但很多开发人员也愿意承受这点代价。

很显然,能缩短开发时间是再好不过了。

不要只用 JavaScript

我知道至少在今天这是不可能做到的,我也根本不需要这个功能,但如果开发人员能在脚本标记中写下其他语言的名字,除了 JavaScript 还能用其他语言的话也是很不错的。

	
<script type=”text/python”>
    el = dom.elementId(“Element”)
    el.html(“This line will be printed in the element”)
</script>

这将真正改变游戏规则,因为一夜之间就会有大批新人涌进 Web 开发产业,这是非常好的事情。一些 Java 开发人员也能用上他们啰哩啰嗦的语法了。

	
<script type=”text/java”>
    import html;
    
    class Main {
        public static void main(String args[]){
            element div = html.doc.getElementById(“element”);
            div.write(“Element display text”);
        }
    }
</script>

小结

本文总结了一些未来的 HTML 真正需要的功能,这些功能可以改善 Web 开发工作,我希望起码其中的一两项功能很快就和我们见面,这样 Web 技术就能继续作为软件开发产业的表率发展下去了。

本文文字及图片出自 InfoQ

余下全文(1/3)
分享这篇文章:

请关注我们:

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注