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