上一期討論《Web和Native誰才是元宇宙的未來》一篇中,我們提到了Flash的技術。這裏我們更加詳細的介紹一下Flash技術以及它的發展過程,以及Flash對Web 3D的影響。幫助我們預測瞭解,未來Web端3D內容將如何發展。
在Web發展初期,瀏覽器是一個非常弱小的存在。Web框架本身和JS語言能力都非常弱,也沒有任何的標準比如H5可以支持複雜的頁面內容。當時的網頁幾乎只能顯示文字,圖片,內容也都是靜態,沒有任何的交互能力。然而用户對於Web平台呈現視頻、遊戲等豐富交互內容的需求是非常強的。
瀏覽器廠商為了彌補本身的劣勢,就利用開放權限的方式,允許第三方為瀏覽器開發各種功能的插件,來支撐複雜的功能。到今天為止,某些網銀還要求必須只能用IE瀏覽器打開,而且安裝對應的安全插件,就是那個時代遺留下的產物。最著名的插件當數Flash。
為什麼Flash那麼火?
Flash做為插件的原理很簡單。因為瀏覽器本身很多功能都實現不了,那他就提供給外部程序一種介入的方法,或者説是一塊區域,在這個區域中顯示的所有內容,都完全不在瀏覽器環境中運行,而是在第三方的插件中去運行。因此,這部分內容就擺脱了瀏覽器本身的限制,可以用其他編程語言進行各種複雜功能的編寫和實現。
瀏覽器擁有了Flash插件之後,最大的變化就是帶來了一波頁遊繁榮的時代。首先Flash因為它擺脱了瀏覽器的束縛,可以直接發起TCP和UDP請求,這是網絡遊戲的基礎。
其次,依託於瀏覽器,所有的頁遊可以達到即開即玩,無需安裝任何客户端,及其方便簡單。當然有了Flash之後,瀏覽器就可以輕鬆的播放音頻視頻了,也極大的豐富了人們的生活。
為什麼Flash退出了歷史舞台?
雖然Flash給Web生態帶來了豐富的內容,但是它有一個根本的問題就是破壞了瀏覽器設計的原則-沙盒機制。通俗説,沙盒機制指的就是,就是自己家裏人管自己家的事兒。
明顯Flash插件這種機制,在帶來的豐富頁面內容的同時,擺脱了瀏覽器的控制,存在很大的安全性問題。每個人肯定都不想,打開一個頁面的時候,自己電腦裏的文件就被別人竊取了。
除了安全問題,Flash帶來的較大的硬件消耗已經不適應移動互聯網時代的手機設備了。2010年四月份,當年的蘋果CEO喬布斯給Flash寫了一封公開信《Thoughts On Flash》,強調蘋果設備將不在移動端支持Flash。
《Thoughts On Flash》
https://archive.is/pxSTb
是誰替代了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,會再次給人們帶來意想不到的驚喜!
你對未來Web端的3D內容製作和演示的發展有什麼看法呢?在下方評論區留言給我們吧!
歡迎更多開發者留言,加入Orillusion社區參與討論!
長按下圖,掃碼添加管理員微信👇
歡迎更多的小夥伴可以加入我們的Orillusion社區,陪我們一起見證WebGPU的發展。我們會盡自己最大的努力把最乾貨最前沿的WebGPU技術分享給每一位社區成員,也誠心的希望大家為Orillusion開源社區做出自己的貢獻。我們一直堅信,開源社區的技術留痕是每一位技術人員最崇高的追求。因此,我們尊重,我們認可,我們更期待,加入Orillusion,讓我們共同進步!
——Link uncharted, 鏈接未來世界