Flash已退出历史舞台,未来Web端3D的内容会怎样发展?
如今,Flash已退出历史舞台,未来Web端的3D内容将如何发展。在 Web 发展初期,浏览器是一个非常弱小的存在。Web 框架本身和 JS 语言能力都非常弱,也没有任何的标准比如 H5 可以支持复杂的页面内容。当时的网页几乎只能显示文字,图片,内容也都是静态,没有任何的交互能力。然而用户对于 Web 平台呈现视频、游戏等丰富交互内容的需求是非常强的。
浏览器厂商为了弥补本身的劣势,就利用开放权限的方式,允许第三方为浏览器开发各种功能的插件,来支撑复杂的功能。例如某些网银还要求必须只能用 IE 浏览器打开,而且安装对应的安全插件,就是那个时代遗留下的产物。不过最著名的插件当数 Flash了。
当年的Flash 为什么那么火?
Flash 做为插件的原理很简单。因为浏览器本身很多功能都实现不了,那他就提供给外部程序一种介入的方法,或者说是一块区域,在这个区域中显示的所有内容,都完全不在浏览器环境中运行,而是在第三方的插件中去运行。因此,这部分内容就摆脱了浏览器本身的限制,可以用其他编程语言进行各种复杂功能的编写和实现。
浏览器拥有了 Flash 插件之后,最大的变化就是带来了一波页游繁荣的时代。首先 Flash 因为它摆脱了浏览器的束缚,可以直接发起 TCP 和 UDP 请求,这是网络游戏的基础。
其次,依托于浏览器,所有的页游可以达到即开即玩,无需安装任何客户端,及其方便简单。当然有了 Flash 之后,浏览器就可以轻松的播放音频视频了,同时极大的丰富了网民的生活。
在智能时代的到来之后,Flash的悲剧开始了。首先来自速度加快的速度的影响,其次是Html5等前端技术对Flash的发展有很大的影响。 Flash的衰落还是很大的一部分原因是他们没有达到预期,技术无法跟上,安全漏洞,自从发布Flash以来,安全性能受到了抨击,有很多严重的安全漏洞。一旦这个漏洞被黑客利用,后果是不可预知的。除了安全问题,Flash 带来的较大的硬件消耗已经不适应移动互联网时代的手机设备了。
是谁替代了Flash?
W3C 于 2008 年发起 HTML5 标准草案,目的是使得浏览器原生就已经开始支持视频、音频、画布等等元素,减少了 Flash 外挂。
2011 年,Khronos 发布了 WebGL 1.0 版本,浏览器也开始可以原生支持 3D 内容的渲染显示了。同年,WebRTC 协议推出,也可以在浏览器应用层发起类似于 UDP 的通信请求,未来还会推出基于 HTTP3 的 Webtransport 协议,游戏不在需要 Flash 了。
随之而来的是 WebGL 时代。WebGL 是一个跨平台、免版税的开放 Web 标准,用于基于 OpenGL ES 的轻量级 3D 图形 API,通过 HTML5 Canvas 元素向 ECMAScript 公开。WebGL 1.0 公开了 OpenGL ES 2.0 功能集;WebGL 2.0 公开了 OpenGL ES 3.0 API。WebGL 将无插件 3D 带入网络,直接在浏览器中实现。
我们目前在网页上看到的 3D 动画和渲染都是基于 WebGL 的。Khronos 在 2009 年启动 WebGL 标准的讨论和制定工作,在 WebGL 发布十年的过程中,也出现了很多 3D 引擎,包括我们熟知的 Three.js,Babylon.js 等。
当 WebGL 和 HTML5 已经足够成熟,可以提供 “可行的替代方案”,而无需用户安装和更新专用插件。Flash 当年的技术优势,都慢慢的被取代了。
2015 年,Apple 默认禁用其 Safari 网络浏览器中的插件,谷歌的 Chrome 开始屏蔽部分 Flash 内容。
2017 年 7 月,Adobe 宣布将于 2020 年淘汰 Flash,标志着一个时代的落幕。
Flash 退出历史舞台,其实并不是被 H5 或者 WebGL 打败,而是孕育了或者说促进了新的技术的发展。很多 H5 标准都是借鉴 Flash 设计,而且大名鼎鼎的 RTMP 协议和 Flash 也有千丝万缕的关系,而且目前几乎所有的摄像头仍然在采用 RTMP 协议来做推流。
Web 3D 未来如何发展?
面临 GPU 能力的发展,以及渲染要求的不断增加,WebGL 标准即将被 WebGPU 取代。2014 年,Native 出了三大现代图形 API: DX12, Vulkan, Metal。在 2017 年的时候,W3C 就提出在 Web 侧发展下一代图形学的技术标准,即 WebGPU。
WebGPU 真正向开发者释放了 GPU 的计算能力,有了 WebGPU,原本那些基于 Native 端的 3D 建模工具,像 3DMax,Maya, Unity3D 等,也将会在 Web 端得到实现。
同时,由于 Web 环境拥有天然的跨平台和协同特性,可以避免下载各种重量级终端应用,一个链接就可以完成内容的制作和协同,就像 Figma(Web 端的 2D 内容协同制作平台),依靠 Web 协同取得了巨大的成功。
无论怎样,时代和技术一直会继续往前,从最初的静态页面,到 Flash,再到 H5 和 WebGL,WebGPU,应用内容得到了极大丰富。可以预测,有了新的 Web 3D 渲染标准 WebGPU,会再次给大家带来意想不到的惊喜!