成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

通過(guò)這個(gè)技術(shù),瀏覽器可以運(yùn)行Node.js、Rust、Python、PHP、C++、Java代碼了!

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

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

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

這也意味著,像使用 Rust、Python、PHP、C++、C 等語(yǔ)言編寫(xiě)的項(xiàng)目都可以在瀏覽器中運(yùn)行了!

什么是 WASI?

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

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

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

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

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

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

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

WebAssembly 運(yùn)行時(shí)

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

Python 支持

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

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

原生 CLI 工具

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

展望未來(lái)

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

責(zé)任編輯:姜華 來(lái)源: 前端充電寶
相關(guān)推薦

2020-09-15 08:26:25

瀏覽器緩存

2025-01-03 09:12:11

2012-03-09 09:11:29

Node.js

2022-01-04 21:36:33

JS瀏覽器設(shè)計(jì)

2022-12-02 23:20:06

Node.jsC++任務(wù)管理

2022-04-02 06:04:03

Node.js代碼緩存V8

2021-12-08 07:55:41

EventLoop瀏覽器事件

2022-05-03 22:25:57

Python瀏覽器語(yǔ)言

2015-07-16 09:59:55

PHP Node.js討論

2012-05-02 15:56:20

PHP

2021-08-28 06:15:49

瀏覽器手機(jī)瀏覽器夸克

2021-09-03 13:42:54

Node.js異步性能

2021-09-23 05:57:52

Vscode JS 項(xiàng)目

2012-02-02 15:14:29

Node.js

2023-01-10 14:11:26

2021-03-03 06:39:05

Nodejs前端開(kāi)發(fā)

2020-12-17 11:08:20

Safari手機(jī)瀏覽器蘋(píng)果

2015-03-10 10:59:18

Node.js開(kāi)發(fā)指南基礎(chǔ)介紹

2021-09-02 10:49:25

Node.jsPHP服務(wù)器開(kāi)發(fā)

2019-12-05 16:10:19

服務(wù)器前端瀏覽器
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 久久久久久久亚洲精品 | 日本高清中文字幕 | 宅男噜噜噜66一区二区 | 国产精品精品久久久 | 国产一区二区 | 国产1页 | 国产精品视频偷伦精品视频 | 在线播放中文字幕 | 久久久久久国产精品 | 久久免费视频1 | 亚洲国产成人在线视频 | 国内精品视频在线 | 欧美一级在线观看 | 欧美三级不卡 | 久久久精品一区二区三区四季av | 国产中文字幕网 | 中文字幕1区2区3区 亚洲国产成人精品女人久久久 | 国产精品亚洲一区二区三区在线观看 | 精品伦精品一区二区三区视频 | 玖玖色在线视频 | 欧美精品福利视频 | 亚洲一区二区三区免费观看 | 久久国产精品99久久久久久丝袜 | a a毛片| 成人性视频免费网站 | 国产精品久久久久久吹潮 | 国产精品久久久久久久久污网站 | 久久成人国产精品 | 中文在线视频观看 | 91干b| 亚洲 中文 欧美 日韩 在线观看 | 久久久精品一区二区三区 | 99亚洲视频| 一级做a爰片性色毛片16美国 | 久久成人精品视频 | 精品国产欧美一区二区三区成人 | 欧美精品国产精品 | 中文字幕精品一区久久久久 | 欧美 日韩 国产 成人 | 色婷婷综合久久久中文字幕 | 激情网站|