125期码报图 www.plpuv.tw 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 技术就能继续作为软件开发产业的表率发展下去了。

余下全文(1/3)

本文最初发表在www.infoq.cn,文章内容属作者个人观点,不代表本站立场。

分享这篇文章:

请关注我们:

发表评论

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