自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

使用 Hippo 進(jìn)入 WebAssembly

云計算 云原生 開發(fā)工具
隨著新的 WebAssembly 工具迅速出現(xiàn),您需要一個可以試用它們的環(huán)境。

介紹 

WebAssembly是一項非常有前途的新技術(shù),微軟的云原生計算團(tuán)隊對其 Deis Labs 子公司和 Azure 都非常感興趣。隨著新的 WebAssembly 工具迅速出現(xiàn),您需要一個可以試用它們的環(huán)境。

這就是為什么 Deis Labs 發(fā)布其 新的 Hippo WebAssembly 平臺 如此重要的原因。就像 Deis 的許多工具一樣,它是一種快速安裝、管理和運(yùn)行WebAssembly(WASM) 代碼的方式,無論是瀏覽器托管還是獨(dú)立的 WebAssembly 系統(tǒng)接口 (WASI)。將其內(nèi)置通道與 Git 服務(wù)器結(jié)合使用,您可以在一個環(huán)境中制作和部署不同的版本,將生產(chǎn)、暫存和開發(fā)構(gòu)建分開,同時仍然只需要一臺 Hippo 服務(wù)器。

您可以在 Hippo 中托管多個應(yīng)用程序。WebAssembly 意味著默認(rèn)情況下它們是沙盒的,需要明確的權(quán)限才能訪問主機(jī)系統(tǒng)或外部設(shè)備。您的代碼也是可移植的。一旦為 WebAssembly 編譯,它將在任何 WebAssembly 系統(tǒng)上運(yùn)行,無論是 Windows、Linux 或 macOS,還是 Intel、RISC-V 或 ARM。Hippo 為您提供了一種構(gòu)建一次、測試一次并在任何地方運(yùn)行代碼的方法。

在開發(fā) PC 上設(shè)置 Hippo

盡管像 Hippo 這樣的工具非常適合云原生操作,但當(dāng)前的開發(fā)人員版本僅在桌面系統(tǒng)上進(jìn)行了測試。我決定在運(yùn)行最新版本的 WSL2 并托管 Ubuntu 的 Windows PC 上試用它。Deis 提供了在本地運(yùn)行 Hippo 的說明,以及macOS 和 Linux 系統(tǒng)的詳細(xì)信息。

在 WSL2 Ubuntu 20.04 LTS 系統(tǒng)上獲得運(yùn)行 Hippo 的先決條件存在一些問題。首先,我需要安裝 WAGI,即 WebAssembly 應(yīng)用程序網(wǎng)關(guān)接口。這很容易安裝,在其 GitHub 存儲庫中托管的可下載 tarfile 中有一個二進(jìn)制文件。一旦下載、解壓并移動到用戶二進(jìn)制目錄,它就可以輕松運(yùn)行。我借此機(jī)會安裝了 Rust,因為如果我必須重新編譯任何 Deis 工具,我可能需要它。

這一步可能是 WSL2 上最困難的,因為它需要一份 build-essential 工具包的副本。Ubuntu 20.04 沒有正確的依賴集,所以我需要一個替代的包安裝程序,它允許我將某些關(guān)鍵庫降級到適當(dāng)?shù)陌姹尽?/span>Stack Overflow 的回答向我指出 aptitude,這是 apt 的替代品,它允許您為安裝選擇適當(dāng)?shù)囊蕾図棽⒃试S它替換兩個低級 C 庫。我終于使用它的安裝腳本安裝了 build-essential,為 Rust 做好準(zhǔn)備。

什么是綁定?

將 Rust 安裝為 Hippo 安裝的一部分的主要原因是為了Deis 的 WebAssembly 打包工具Bindle。Bindle 被描述為“聚合對象存儲”系統(tǒng)。它的文檔使用的比喻是“Binder 是數(shù)字銀器抽屜”。我們的銀器抽屜里可能都有一些不同的物品,但我們都使用抽屜來分類和存放銀器。Bindle 對構(gòu)成現(xiàn)代應(yīng)用程序的工件做了很多相同的事情,同時根據(jù)應(yīng)用程序的使用方式和使用位置,提供了對應(yīng)用程序如何組合的一定程度的理解。

推薦的白皮書

您可以擁有一個應(yīng)用程序的 Bindle 描述,其中包含在資源受限的邊緣主機(jī)(如 Raspberry Pi)上進(jìn)行稀疏安裝以及位于公共云核心的高性能服務(wù)器所需的元素。應(yīng)用程序主機(jī)中的 Bindle 客戶端可以獲取元素和依賴項并適當(dāng)?shù)夭渴鹚鼈?。結(jié)果是一個以應(yīng)用程序為中心的部署模型,它避免了使用存儲庫和智能描述將正確的代碼交付到正確的環(huán)境的多次構(gòu)建。

安裝 Bindle 后,您可以運(yùn)行它,使用默認(rèn)設(shè)置設(shè)置本地 Bindle 服務(wù)器以供 Hippo 使用。接下來,我安裝了Node.js的,使用由微軟提供的WSL說明。這需要使用 curl 下載 nvm,然后運(yùn)行它以安裝最新和長期支持的 node.js 版本。不要使用 Ubuntu 說明來安裝節(jié)點(diǎn);他們使用snap 來安裝它,并且在 WSL2 中并沒有很好地支持 snap。

您需要為任何 Hippo 托管的 Rust WebAssembly 應(yīng)用程序安裝 Rust 的 wasm32-wasi 支持,以及 yo-wasm Yeoman 應(yīng)用程序腳手架工具。這將允許您將 Rust 代碼編譯為 WASI 目標(biāo),準(zhǔn)備在 Hippo 中運(yùn)行。

有了這些,我現(xiàn)在可以安裝 .NET 5,在安裝 .NET 5 SDK 和運(yùn)行時之前,首先設(shè)置對 Microsoft 的 Debian 包存儲庫的支持。.NET 運(yùn)行時有 兩種選擇:一種支持 ASP.NET Core,另一種不支持。由于 Hippo 是一個模型-視圖-控制器 Web 應(yīng)用程序,您應(yīng)該使用 ASP.NET 版本的運(yùn)行時。

構(gòu)建和運(yùn)行 Hippo

一旦安裝了所有先決條件,您就可以構(gòu)建 Hippo。首先將 Hippo GitHub 存儲庫克隆到 WSL 系統(tǒng)的本地目錄中。安裝后,您可以構(gòu)建和運(yùn)行該應(yīng)用程序,通過添加 BINDLE_URL 環(huán)境變量將其指向您的本地 Bindle 服務(wù)器。此時最好安裝 Hippo 的 CLI,因為它是應(yīng)用程序開發(fā)和部署所必需的。

您現(xiàn)在可以連接到您的 Hippo 服務(wù)器以測試它是否正常工作。您應(yīng)該在 localhost 的 5001 端口上找到它。如果您正在運(yùn)行 WSL 2 的最新版本,您應(yīng)該能夠使用 localhost從 Windows 桌面瀏覽器連接到它,因為 Microsoft 終于修復(fù)了 WSL 2 的一個長期存在的問題網(wǎng)絡(luò)問題,通過 Windows 代理其虛擬機(jī)網(wǎng)絡(luò),同時仍保留其自己的 IP 地址和虛擬網(wǎng)絡(luò)交換機(jī)。不再需要腳本來提取和共享網(wǎng)絡(luò)地址。

在連接到服務(wù)器之前,您需要注冊一個帳戶。由于它在本地運(yùn)行,您可以選擇您喜歡的任何帳戶詳細(xì)信息;只要確保它們是您能記住的東西,因為您需要詳細(xì)信息來構(gòu)建您的第一個應(yīng)用程序。創(chuàng)建帳戶后,登錄。您將被帶到帶有“創(chuàng)建新應(yīng)用程序”按鈕的“您的應(yīng)用程序”頁面。

創(chuàng)建您的第一個 Hippo WebAssembly 應(yīng)用程序

雖然您可以從 Web UI 為 Hippo 構(gòu)建應(yīng)用程序,但現(xiàn)在使用命令行更容易。確保您已安裝 Hippo CLI,因為 Yeoman 將使用它為您構(gòu)建應(yīng)用程序腳手架。在開始之前,為您的 Hippo 帳戶和密碼及其端點(diǎn)設(shè)置環(huán)境變量。是的,這不是很好的安全實踐,但在這里我們只是使用尚未準(zhǔn)備好用于生產(chǎn)的軟件在隔離的 PC 上構(gòu)建和運(yùn)行測試代碼。

要構(gòu)建一個基本的 hello world 應(yīng)用程序,請使用 yo-wasm 工具構(gòu)建一個 WebAssembly Rust 應(yīng)用程序。如果您按照腳本操作并輸入適當(dāng)?shù)闹担@將構(gòu)建源代碼并將其加載到您的 Hippo 服務(wù)器中。接下來使用 Rust 貨物工具來編譯和測試您的 WASI 應(yīng)用程序。在命令行上運(yùn)行它后,您可以使用 Hippo 的 CLI 工具將其推送到 Bindle,在那里它將在Hippo 中可見。打開項目,選擇您構(gòu)建的開發(fā)環(huán)境,然后單擊鏈接以運(yùn)行您的代碼。

河馬有很多值得喜歡的地方。如果 WebAssembly 缺少一件事,它是一個有效的類似 Heroku 的游樂場,可以幫助您入門。Hippo 可能還不是那個游樂場,但它肯定是您現(xiàn)在可以將其用作您自己的開發(fā)工作流程的一部分,即使在其早期階段也是如此。能夠在開發(fā) PC 上運(yùn)行它是一個額外的優(yōu)勢,因為不需要依賴第三方系統(tǒng)。它的影響足夠低,可以作為 WSL 2 環(huán)境的一部分運(yùn)行,因此您可以利用 VisualStudio Code 等工具,使用其遠(yuǎn)程開發(fā)功能從 Windows 編輯 WSL 中的 Rust 代碼。

如果您對 WebAssembly 感興趣,Hippo 很可能是您入門所需的工具。它使使用 WebAssembly 代碼變得更簡單,將運(yùn)行開發(fā)所需的許多不同部分集中到一個地方。盡管它顯然仍然是一個早期版本,但這里有足夠的內(nèi)容讓您入門,使其成為任何使用WebAssembly的人的必備工具。

責(zé)任編輯:姜華 來源: 新鈦云服
相關(guān)推薦

2021-12-28 07:20:43

Hippo WebAssembly云原生

2023-12-12 07:30:54

IstioWasm前端

2022-08-15 06:00:00

二進(jìn)制編程語言

2023-05-05 17:20:04

2021-12-27 10:46:07

WebAPIserver簽名

2023-01-31 09:02:24

JSVMVR

2017-03-19 22:13:10

WebAssemblyJavaScript編程

2021-08-18 08:00:00

Emscripten開發(fā)技術(shù)

2022-10-28 16:57:18

DockerWasm

2023-12-10 16:48:00

Wasm瀏覽器

2023-10-27 10:16:17

前端項目Rust

2017-03-19 20:41:57

WebAssemblyJavaScript編程

2017-03-19 22:43:12

WebAssemblyJavaScript編程

2020-10-26 14:32:39

AI 數(shù)據(jù)模型

2023-03-27 13:25:18

WebAssembl語言Scheme

2021-06-11 09:00:00

語言WebWebAssembly

2022-05-16 10:25:03

Web內(nèi)部垃圾收集安全性

2020-11-03 08:12:20

WebAssemblyAPI

2022-06-15 12:48:14

WebAssemblDockerKubernetes

2022-06-22 10:04:29

JavaScriptRust語言
點(diǎn)贊
收藏

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