日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務,提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

近日,WebContAIners 發(fā)布重要更新,WASI(WebAssembly 系統(tǒng)接口)已全面集成到 WebContainers 中。這是一個重要里程碑,它擴大了可以使用瀏覽器執(zhí)行的操作,是 Web 開發(fā)的全新范例,允許運行大量原生應用,而無需考慮多種不同的架構。

通過這個技術,瀏覽器可以運行Node.js、Rust、Python、PHP、C++、Java代碼了!

WebContainers 是 StackBlitz 推出一種基于容器技術的 Web 應用環(huán)境,它提供了一個隔離環(huán)境來執(zhí)行Web應用。WebContainers 也是第一個基于 WebAssembly 的系統(tǒng),可以安全地在瀏覽器中啟動 Node.js 環(huán)境。可以在 Stackblitz 的官網(wǎng)(https://stackblitz.com/)在線體驗 webContainers 技術,官網(wǎng)已經(jīng)初始提供了多種開發(fā)環(huán)境:

通過這個技術,瀏覽器可以運行Node.js、Rust、Python、PHP、C++、Java代碼了!

近日,WebContainers 發(fā)布重要更新,WASI(WebAssembly 系統(tǒng)接口)已全面集成到 WebContainers 中。這是一個重要里程碑,它擴大了可以使用瀏覽器執(zhí)行的操作,是 Web 開發(fā)的全新范例,允許運行大量原生應用,而無需考慮多種不同的架構。

這也意味著,像使用 Rust、Python/ target=_blank class=infotextkey>Python、php、C++、C 等語言編寫的項目都可以在瀏覽器中運行了!

什么是 WASI?

多年來,JAVAScript 是 Web 瀏覽器原生支持的唯一編程語言。然而,隨著 Web 的不斷發(fā)展,對緊湊、安全和高效執(zhí)行的代碼的需求不斷增長。為了解決這個問題,Mozilla 在 2015 年透露,他們正在與谷歌、微軟和蘋果的工程師合作開發(fā)一種新標準,稱為 WebAssembly,簡稱 Wasm。WebAssembly 是一種低級、類似匯編的語言,獨立于任何特定平臺運行。它使用壓縮的二進制格式,旨在安全、快速地運行,提供接近本地執(zhí)行速度的性能。此外,它還可以作為編譯在 Web 上運行的代碼的目標。

WebAssembly 用作編譯目標,其中原生代碼(例如 Rust、C++ 或 Golang)被編譯到 WebAssembly。最初,它是為了在Web上運行 C++ 或 Rust 等語言而創(chuàng)建的。然而,現(xiàn)在它的應用范圍已經(jīng)擴大了。WebAssembly 支持多種編程語言,并且不僅限于 Web 瀏覽器。

現(xiàn)在,每個 WebAssembly 模塊都在一個沙盒環(huán)境中運行,沒有訪問系統(tǒng)功能(例如文件和文件系統(tǒng)或網(wǎng)絡)的權限。 這意味著 WebAssembly 的功能受到限制,必須通過JavaScript提供所有外部功能。

這就是 WASI 的用武之地。WASI 表示 WebAssembly 系統(tǒng)接口,充當一個橋梁,提供標準化接口,允許 WebAssembly 代碼安全地與文件系統(tǒng)、網(wǎng)絡、生成隨機數(shù)等系統(tǒng)接口交互,而無需要通過JavaScript注入這些功能。這擴展了 WebAssembly 的功能,使我們能夠使用任何編譯為WebAssembly 的語言構建應用,并在任何可用運行時的地方運行它們,包括 WebContainers!

WASI將以多種顛覆性的方式影響你:

  • 速度和安全性:兩者兼得。應用在保持安全沙盒環(huán)境的同時,以接近本地速度運行。
  • 可移植性:編譯一次,到處運行!將本機代碼編譯為 WebAssembly,并在Web或其他地方運行它。
  • 多語言支持:許多編程語言如 C、C++、Rust 等都可以編譯成WebAssembly 并使用 WASI 接口。這意味著可以使用其他語言編寫系統(tǒng)級別的代碼,而不只是Web所使用的JavaScript,從而提供更多的選項和靈活性。

實現(xiàn)以前不可能的事

WebAssembly 運行時

WASI的集成使得在WebContainers中可以使用wasm命令從終端執(zhí)行 WebAssembly 或 WASI 編譯的模塊。這意味著可以將代碼編譯為WASI,將其上傳到項目中,然后通過新的wasm命令運行它。這樣就可以在終端上直接運行 WebAssembly 模塊,無需使用復雜的工具或設置。

通過這個技術,瀏覽器可以運行Node.js、Rust、Python、PHP、C++、Java代碼了!

Python 支持

作為對可能性的示范,目前引入了對 Python 在 WebContainers 中的實驗性支持。考慮到 Python 作為第三種最常用的編程語言,在瀏覽器的原生環(huán)境中一直缺失,這一點尤為重要。由于需要外部服務器進行執(zhí)行,Python 的功能通常是分割的,導致開發(fā)體驗不連貫。但現(xiàn)在不同了。隨著 WASI 與 WebContainers 的集成,服務器和瀏覽器的領域進一步融合,為瀏覽器內開發(fā)開辟了新時代的道路。

重要的是,隨著WASI不斷演進和擴展其功能集,它將直接影響 WebContainers 中 Python 的功能。注意,這種Python的集成目前仍然處于實驗階段,這意味著它目前僅限于 Python 語言的核心功能。目前還未推出對 pip 的支持,即 Python 的軟件包管理器,這意味著暫時還無法安裝額外的 Python 軟件包。可以編寫、編輯和執(zhí)行依賴于內置 Python 模塊和功能的Python腳本,但對于依賴于外部庫的更復雜項目則需要再等待一段時間。

通過這個技術,瀏覽器可以運行Node.js、Rust、Python、PHP、C++、Java代碼了!

原生 CLI 工具

除此之外,還擴展了 shell 的功能,添加了對jq的支持,這是一個本地命令行JSON處理器,可以輕松地切片、過濾、映射和轉換結構化數(shù)據(jù)。可以在任何項目中從shell中使用它。

通過這個技術,瀏覽器可以運行Node.js、Rust、Python、PHP、C++、Java代碼了!

展望未來

雖然這些發(fā)展令人興奮,但這只是個開始。WASI 仍在標準化的過程中,隨著它的成熟,它將在 WebContainers  中釋放更多的功能。目前正在開發(fā)一些令人興奮的新功能,包括WebAssembly線程或WebAssembly垃圾回收等。StackBlitz 的野心是為其他流行語言添加實驗性支持,特別是對 Ruby 和 PHP 的實驗性支持。

分享到:
標簽:瀏覽器
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定