亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > JS > 正文

深入了解JavaScript 的 WebAssembly

2024-05-06 16:52:11
字體:
來源:轉載
供稿:網友

JavaScript 的 WebAssembly

本周發布的 Firefox 52 加入了對 WebAssembly 的支持,成為第一個支持 WebAssembly 標準的瀏覽器,而其它瀏覽器如 Chrome 57、Safari 和 Edge 也都會陸續支持 WebAssembly。WebAssembly 源于Mozilla 發起的 Asm.js 項目,設計補充而非取代 JavaScript,它是一個二進制格式,容易翻譯到原生代碼,本地解碼速度比 JS 解析快得多,讓高性能的 Web 應用在瀏覽器上運行成為可能,比如視頻游戲、計算機輔助設計、視頻和圖像編輯、科學可視化等等。

未來,現有的生產力應用和 JavaScript 框架都有可能使用 WebAssembly,能顯著降低加載速度,同時改進運行性能。開發者可以將針對 CPU 密集計算的 WebAssembly 庫整合到現有的 Web 應用中。

你聽說過 WebAssembly 嗎?這是由 Google , Microsoft , Mozilla , Apple 等幾家大公司合作發起的一個關于 面向Web的通用二進制和文本格式 的項目。 現在就讓我們來看看WebAssembly到底是個啥?為什么它的出現和未來的發展跟我們每個人都息息相關,即使你并不是一個程序猿/媛~

至少在某種程度上,它將改變Web生態。

JavaScript–Web世界的匯編語言

我們有許多面向Web應用的開發規范,這些設計優良的規范讓Web開發者們的工作變得更加的簡單。我們很難想象自己所創建和網站或應用沒有任何規則、編程語言、框架和開發理念可以遵循。

而將所有這些事情組合到一起的Web規范有一個眾所周知的名字: JavaScript !

JavaScript基本上已經成為了Web平臺的標準開發語言。而隨著越來越多的軟件成為了Web應用,JavaScript更是獲得了極大的發展。

但在過去幾年,我們看到越來越多的項目問世,它們試圖通過開發編譯程序,將其他語言代碼轉化為 JavaScript,以此讓開發者克服 JavaScript自身存在的一些短板。其中一些項目專注于給編程語言增加新的功能,比如微軟的 TypeScript 和Google的 Dart ,或是加快 JavaScript的執行速度,例如 Mozilla 的 asm.js 項目和Google的 PNaCI 。

在默認環境下,JavaScript文檔其實就是簡單的文本文件,先是從服務器下載,然后由瀏覽器中的 JavaScript引擎解析并編譯。用戶可以通過Ajax技術在瀏覽網頁時與服務器進行通信。

在瀏覽器端目前是使用JavaScript來實現與用戶進行動態交互等功能,雖然很多JavaScript框架都致力于性能優化,但是一套基于字節碼的系統仍然會有更快更好的性能表現。

所以,WebAssembly到底是個什么鬼?

WebAssembly是一種新的字節碼格式。它的縮寫是".wasm", .wasm 為文件名后綴,是一種新的底層安全的二進制語法。。它被定義為“精簡、加載時間短的格式和執行模型”,并且被設計為Web 多編程語言目標文件格式。

這意味著瀏覽器端的性能會得到極大提升,它也使得我們能夠實現一個底層構建模塊的集合,例如,強類型和塊級作用域。(原文: And it gives us access to a set of low level building blocks, such as a range of types and operations. 這句話我實在不知如何翻譯。。。)

不過別搞錯了,這并不意味著WebAssmbly是為了取代 JavaScript而生喲~ 就像Bjarne Stroustup說的:“JS會活得很好,因為世界上只有兩種類型的語言:一類語言被人們不斷的地吐槽,而另一類語言壓根兒沒人用!”而 Eric Elliott 認為:“最好不要把WebAssembly僅僅當做一門編程語言,實際上它更像是一個編譯器。”

從asm.js到WebAssembly?

asm.js 是一個JavaScript的一個嚴格的子集,可以被用來作為一個底層的、高效的編譯器目標語言。asm.js提供了一個類似于C/C++虛擬機的抽象實現,包括一個可有效負載和存儲的大型二進制堆、整型和浮點運算、高階函數定義、函數指針等。

asm.js的思想是使用它所規定的方法來編寫JavaScript代碼,支持asm.js的引擎會將代碼轉變為十分高效的機器碼。如果你是將C++代碼編譯為asm.js,將在瀏覽器端獲得極大的性能提升。webassembly相較于asm.js的優勢主要是涉及到性能方面。根據 WebAssembly FAQ 的描述:在移動設備上,對于很大的代碼庫,asm.js僅僅解析就需要花費20-40秒,而 實驗 顯示WebAssembly的加載速度比asm.js快了20倍,這主要是因為相比解析 asm.js 代碼,JavaScript引擎破譯二進制格式的速度要快得多。

這玩意兒到底好在哪?

你很可能會問:“為啥所有人都在談論WebAssembly?”這是因為WebAssembly對于JS來說絕對是一個巨大的改進,但我們常常會問自己:“這樣,就夠了嗎?”當然不是,WebAssembly對于瀏覽器來說也有著非同一般的意義。 支持WebAssembly的瀏覽器可以識別二進制格式的文本,它有能力編譯比JS文本小得多的二進制包。 這將給web應用帶來類似與本地應用的性能體驗!這四不四聽起來很棒???!如果瀏覽器不得不解析完整的JS代碼,這將會耗去好多時間(特別是在移動平臺上),而瀏覽器對WebAssembly格式的解碼速度顯然要快得多得多得多:) 下面獻上JS作者BE大神的演講視頻地址(油管,需FQ): Brendan Eich on JavaScript Taking Both the High and Low Roads - O'Reilly Fluent 2014

都有誰入了WebAssembly的坑?

包括Google, Microsoft,Mozilla只是這一長串名單中的少數幾家公司。項目帶頭人們發起了 WebAssembly Community Group 這一社區,這個團隊的愿景是“在一種新的,輕量的web編碼格式的基礎上,促進瀏覽器廠商們的合作.” 不過,WebAssembly項目還只是剛剛啟動,雖然它有一個美妙的開頭,但在WebAssembly成為一個大眾認可的web標準之前,它還有很長的路要走。

為啥這玩意會影響每一個web開發者

因為webassembly讓開發者有能力選擇之前那些不能用來開發web應用的語言來進行web開發,或者他們也可以繼續使用簡單易用的JavaScript! W3C WebAssembly Community group 給出了一些WebAssembly的用例,它們展示了WebAssembly如何使得web開發者更加輕松的工作:

  • 一些執行效率更高的語言可以被編譯成在Web平臺上執行的代碼。
  • 提供了在瀏覽器端的開發者工具
  • 更加快捷的企業級應用客戶端(例如:數據庫)

WebAssembly的用途很多。舉幾個栗子:WebAssembly可以被嵌入到已經開發好的JavaScript/HTML代碼中;或者某款應用的主要框架可以使用 WebAssembly 模塊(如動畫、可視化和壓縮等),而用戶界面仍然可以主要使用 JavaScript/HTML語言編寫。

精簡的代碼,更好的性能,更少的bug?

據WebAssembly的開發團隊描述,使用WebAssembly意味著更少的原代碼。與asm.js相比,它減少了大約25%的代碼量。雖然這僅僅是一個原型。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品亚洲精品| 亚洲精品之草原avav久久| 欧美成人免费va影院高清| 中文字幕久热精品在线视频| 久久国产精品久久精品| 国产精品久久电影观看| 欧美激情一区二区三区在线视频观看| 日本最新高清不卡中文字幕| 国产精品看片资源| 欧美极品少妇xxxxⅹ免费视频| 人人澡人人澡人人看欧美| 97久久久久久| 日韩美女在线观看一区| 国内精品久久久久影院优| 亚洲视频在线视频| 久久影视电视剧免费网站清宫辞电视| 久久韩剧网电视剧| 亚洲无亚洲人成网站77777| 国产成人精品视频在线| 成人免费视频在线观看超级碰| 欧美自拍大量在线观看| 久久中文字幕在线| 91精品国产综合久久香蕉最新版| 亚洲国产天堂久久综合| 欧美激情2020午夜免费观看| 久久久久久久一区二区三区| 日韩男女性生活视频| 成人激情视频在线| 亚洲a级在线播放观看| 最近更新的2019中文字幕| 97超级碰碰碰久久久| 亚洲日本成人女熟在线观看| 中文字幕日韩在线视频| 亚洲xxxx视频| 精品日本高清在线播放| 日韩在线观看你懂的| 国产精品偷伦一区二区| 神马久久桃色视频| 97在线精品国自产拍中文| 成人字幕网zmw| 日韩电影中文字幕一区| 色老头一区二区三区| 国产成人jvid在线播放| 国产热re99久久6国产精品| 日韩最新中文字幕电影免费看| 精品少妇v888av| 在线观看成人黄色| 中文字幕日韩免费视频| 国内精品免费午夜毛片| 国产精品中文在线| 亚洲欧美日韩精品久久奇米色影视| 精品久久久999| 热门国产精品亚洲第一区在线| 亚洲国产精品免费| 日韩欧美在线观看| 国产精品久久久久久久久久东京| 国产精品中文在线| 亚洲男人天堂网| 亚洲国产97在线精品一区| 在线观看成人黄色| 亚洲国产高清自拍| 91在线视频一区| 亚洲国产精品va在线看黑人动漫| 国产日韩欧美视频在线| 91国产美女在线观看| 亚洲国产成人精品久久| 亚洲开心激情网| 91久久精品国产| 亚洲精品国产综合久久| 欧美成人精品在线视频| 国产精品三级在线| 久久99亚洲热视| 欧美麻豆久久久久久中文| 久久久久在线观看| 欧美成年人视频网站欧美| 米奇精品一区二区三区在线观看| 91精品久久久久久综合乱菊| 久久精品亚洲一区| 亚洲国产成人久久综合一区| 久久亚洲成人精品| 日本aⅴ大伊香蕉精品视频| 伊人男人综合视频网| 在线精品高清中文字幕| 国产一区二区三区视频| 5278欧美一区二区三区| 亚洲欧美日韩中文在线| 一区二区三区 在线观看视| 日韩中文理论片| 欧美激情2020午夜免费观看| 欧美一级黑人aaaaaaa做受| 91久久精品国产91久久性色| 91sa在线看| 国内成人精品一区| 美女久久久久久久久久久| 久久精品视频免费播放| 欧美日韩国产页| 午夜精品理论片| 亚洲欧美日韩综合| 久久香蕉频线观| 国产福利成人在线| 影音先锋欧美精品| 精品中文字幕久久久久久| 日韩欧美a级成人黄色| 97久久精品人人澡人人爽缅北| 乱亲女秽乱长久久久| 国产精品xxxxx| 国产不卡av在线免费观看| 这里只有精品久久| 精品夜色国产国偷在线| 97超级碰碰碰久久久| 成人亲热视频网站| 欧美大片大片在线播放| 成人乱人伦精品视频在线观看| 55夜色66夜色国产精品视频| 色综合久久88色综合天天看泰| 欧美视频免费在线观看| 尤物99国产成人精品视频| 亚洲成人精品久久久| 日韩av网站导航| 亚洲国语精品自产拍在线观看| 午夜美女久久久久爽久久| 国外色69视频在线观看| 亚洲国产欧美久久| 日韩在线观看免费网站| 91精品国产成人www| 色青青草原桃花久久综合| 欧美日韩国产一中文字不卡| 日韩小视频在线观看| 久久中文久久字幕| 国产不卡av在线| 欧美中文在线观看| 亚洲精品国产综合区久久久久久久| 久久91超碰青草是什么| 97碰在线观看| 91久久在线播放| 91精品国产亚洲| 九九久久综合网站| 国产成人在线一区二区| 成人精品久久久| 国模精品一区二区三区色天香| 成人免费福利在线| 国产成人+综合亚洲+天堂| 国产精品一区二区三区毛片淫片| 成人性生交大片免费看小说| 九九热这里只有精品6| 久久综合久中文字幕青草| 欧美精品videofree1080p| 日韩欧美国产中文字幕| 色阁综合伊人av| 日韩中文第一页| 国产这里只有精品| 成人免费午夜电影| 57pao成人国产永久免费| 成人免费直播live| 亚洲人成网在线播放| 北条麻妃久久精品| 国产日韩精品在线观看| 欧美性猛交xxxx偷拍洗澡| 亚洲精品美女免费| 亚洲一区二区三区四区在线播放| 国产精品∨欧美精品v日韩精品| 久久久精品免费视频| 亚洲欧美国产视频| 韩日精品中文字幕|