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

一篇學會使用 Hippo 進入 WebAssembly

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

[[442445]]

本文轉載自微信公眾號「新鈦云服」,作者黃飛 翻譯。轉載本文請聯(lián)系新鈦云服公眾號。

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

這就是為什么 Deis Labs 發(fā)布其 新的 Hippo WebAssembly 平臺 如此重要的原因。就像 Deis 的許多工具一樣,它是一種快速安裝、管理和運行WebAssembly (WASM) 代碼的方式,無論是瀏覽器托管還是獨立的 WebAssembly 系統(tǒng)接口 (WASI)。

將其內置通道與 Git 服務器結合使用,您可以在一個環(huán)境中制作和部署不同的版本,將生產、暫存和開發(fā)構建分開,同時仍然只需要一臺 Hippo 服務器。

[[442446]]

[同樣在 InfoWorld:Heroku 的衰落]

您可以在 Hippo 中托管多個應用程序。WebAssembly 意味著默認情況下它們是沙盒的,需要明確的權限才能訪問主機系統(tǒng)或外部設備。

您的代碼也是可移植的。

一旦為 WebAssembly 編譯,它將在任何 WebAssembly 系統(tǒng)上運行,無論是 Windows、Linux 或 macOS,還是 Intel、RISC-V 或 ARM。Hippo 為您提供了一種構建一次、測試一次并在任何地方運行代碼的方法。

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

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

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

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

什么是綁定?

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

推薦的白皮書

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

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

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

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

構建和運行 Hippo

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

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

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

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

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

要構建一個基本的 hello world 應用程序,請使用 yo-wasm 工具構建一個 WebAssembly Rust 應用程序。如果您按照腳本操作并輸入適當?shù)闹担@將構建源代碼并將其加載到您的 Hippo 服務器中。

接下來使用 Rust 貨物工具來編譯和測試您的 WASI 應用程序。在命令行上運行它后,您可以使用 Hippo 的 CLI 工具將其推送到 Bindle,在那里它將在 Hippo 中可見。打開項目,選擇您構建的開發(fā)環(huán)境,然后單擊鏈接以運行您的代碼。

河馬有很多值得喜歡的地方。如果 WebAssembly 缺少一件事,它是一個有效的類似 Heroku 的游樂場,可以幫助您入門。Hippo 可能還不是那個游樂場,但它肯定是您現(xiàn)在可以將其用作您自己的開發(fā)工作流程的一部分,即使在其早期階段也是如此。

能夠在開發(fā) PC 上運行它是一個額外的優(yōu)勢,因為不需要依賴第三方系統(tǒng)。它的影響足夠低,可以作為 WSL 2 環(huán)境的一部分運行,因此您可以利用 Visual Studio Code 等工具,使用其遠程開發(fā)功能從 Windows 編輯 WSL 中的 Rust 代碼。

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

 

原文:https://www.infoworld.com/article/3635848/jump-into-webassembly-with-hippo.html

 

責任編輯:武曉燕 來源: 新鈦云服
相關推薦

2022-06-02 08:01:11

云原生工具

2021-07-26 05:07:23

Swift萬花尺代碼

2021-05-30 07:56:51

QSettingsLog4Qt變量

2022-01-02 08:43:46

Python

2022-01-12 07:36:01

Java數(shù)據(jù)ByteBuffer

2021-05-11 08:54:59

建造者模式設計

2021-07-02 09:45:29

MySQL InnoDB數(shù)據(jù)

2021-07-06 08:59:18

抽象工廠模式

2023-01-03 08:31:54

Spring讀取器配置

2021-07-05 22:11:38

MySQL體系架構

2023-11-28 08:29:31

Rust內存布局

2022-08-23 08:00:59

磁盤性能網(wǎng)絡

2022-08-26 09:29:01

Kubernetes策略Master

2022-02-07 11:01:23

ZooKeeper

2023-11-29 13:59:00

trait定義接口

2022-01-01 20:02:25

Metadata動態(tài)元數(shù)據(jù)

2021-10-15 09:55:48

Myloader數(shù)據(jù)教程

2021-11-30 19:58:51

Java問題排查

2021-12-07 08:50:40

字母區(qū)間字符串

2021-07-29 07:55:20

React實踐代碼
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 在线一区视频 | 91精品国产综合久久久密闭 | 国产一区二区三区 | 在线一区| 韩日av在线 | 色婷婷久久久久swag精品 | 羞羞视频在线观免费观看 | 欧美激情黄色 | 国产日韩精品久久 | 午夜精品一区 | 天天操夜夜操免费视频 | gogo肉体亚洲高清在线视 | 亚洲精品久久嫩草网站秘色 | 久久色视频 | 激情五月婷婷在线 | 国产成人午夜精品影院游乐网 | 亚洲国产成人精品女人久久久 | 91av视频在线免费观看 | 亚洲 成人 av | 久久精品国产99国产精品亚洲 | 国产精品欧美一区二区三区不卡 | 在线播放第一页 | 日韩免费在线观看视频 | 99精品国产一区二区三区 | 欧美在线观看免费观看视频 | 国产成人福利在线观看 | 在线 丝袜 欧美 日韩 制服 | 国产乱码精品一区二区三区忘忧草 | 亚洲欧美在线一区 | 日韩一区二区在线播放 | 国产欧美综合在线 | 亚洲视频中文字幕 | 麻豆精品国产91久久久久久 | 精品久久国产 | 免费黄色录像视频 | 国产一区视频在线 | 国产精品久久久久久久久久东京 | 精品欧美一区二区在线观看 | 国产精品视频在线播放 | 日韩精品成人在线 | 亚洲成av人影片在线观看 |