什么是 StackBlitz 的 web container
如下圖所示,我們可以利用 StackBlitz,在瀏覽器里開發(fā) Node.js 應用:
這一切歸功于所謂的 WebContainer,如下圖 Booting WebContainer 和 Installing dependencies 的信息:
幾年前,我們就能感覺到,web 開發(fā)正在走向一個關鍵的拐點。
WebAssembly 和新的 capabilities API 的出現(xiàn),使得編寫一個基于 WebAssembly 的操作系統(tǒng)似乎成為可能,該操作系統(tǒng)功能強大到可以完全在瀏覽器中運行 Node.js。 提供一個比本地環(huán)境更快、更安全、更一致的卓越開發(fā)環(huán)境,以實現(xiàn)無縫代碼協(xié)作,而無需設置本地環(huán)境,這個目標似乎離 Web 開發(fā)人員越來越近了。
實現(xiàn)這個目標的關鍵之一是 Web Container.
傳統(tǒng)在線 IDE 在遠程服務器上運行您的整個開發(fā)環(huán)境,并將結(jié)果通過 Internet 流式傳輸回您的瀏覽器。 這種方法的問題在于,它幾乎沒有安全優(yōu)勢,并且在幾乎所有方面都比本地機器提供更糟糕的體驗:啟動容器需要幾分鐘時間,容易出現(xiàn)網(wǎng)絡延遲,無法離線工作,經(jīng)常導致網(wǎng)絡超時, 調(diào)試凍結(jié)/損壞的容器幾乎是不可能的,點擊刷新只會將您重新連接到損壞的容器。
StackBlitz 提供的 WebContainers 允許您創(chuàng)建全棧 Node.js 環(huán)境,該環(huán)境可在幾毫秒內(nèi)啟動并立即處于在線狀態(tài),可以通過鏈接共享——只需單擊一下。 該環(huán)境加載了 VS Code 強大的編輯體驗、完整的終端、npm 等。 它也完全在瀏覽器中運行,這會產(chǎn)生下列這些關鍵的好處:
- 比本地環(huán)境更快。 構(gòu)建完成速度比 yarn/npm 快 20%,包安裝完成速度 >= 5 倍。
- Node.js 應用可以在瀏覽器中調(diào)試。 與 Chrome DevTools 的無縫集成支持本地后端調(diào)試,無需安裝或擴展。
- 默認的安全級別。 所有代碼執(zhí)行都發(fā)生在瀏覽器的安全沙箱內(nèi),而不是遠程虛擬機或本地二進制文件上。
同樣,這些環(huán)境不在遠程服務器上運行。 相反,這些運行環(huán)境都完全包含在 Web 瀏覽器中。 Node.js 運行時本身第一次在瀏覽器內(nèi)部本地運行。
更多Jerry的原創(chuàng)文章,盡在:“汪子熙”:
總結(jié)
以上是生活随笔為你收集整理的什么是 StackBlitz 的 web container的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: rx580如何分辨矿卡
- 下一篇: rxjs 操作符 pairwise 的一