网易首页 > 网易号 > 正文 申请入驻

使用 Hippo 进入 WebAssembly

0
分享至

新钛云服已为您服务1352

WebAssembly 是一项非常有前途的新技术,微软的云原生计算团队对其 Deis Labs 子公司和 Azure 都非常感兴趣。随着新的 WebAssembly 工具迅速出现,您需要一个可以试用它们的环境。

这就是为什么 Deis Labs 发布其 新的 Hippo WebAssembly 平台 如此重要的原因。就像 Deis 的许多工具一样,它是一种快速安装、管理和运行WebAssembly (WASM) 代码的方式,无论是浏览器托管还是独立的 WebAssembly 系统接口 (WASI)。

将其内置通道与 Git 服务器结合使用,您可以在一个环境中制作和部署不同的版本,将生产、暂存和开发构建分开,同时仍然只需要一台 Hippo 服务器。

同样在 InfoWorld:Heroku 的衰落您可以在 Hippo 中托管多个应用程序。WebAssembly 意味着默认情况下它们是沙盒的,需要明确的权限才能访问主机系统或外部设备。 您的代码也是可移植的。 一旦为 WebAssembly 编译,它将在任何 WebAssembly 系统上运行,无论是 Windows、Linux 或 macOS,还是 Intel、RISC-V 或 ARM。Hippo 为您提供了一种构建一次、测试一次并在任何地方运行代码的方法。
在开发 PC 上设置 Hippo

尽管像 Hippo 这样的工具非常适合云原生操作,但当前的开发人员版本仅在桌面系统上进行了测试。我决定在运行最新版本的 WSL2 并托管 Ubuntu 的 Windows PC 上试用它。Deis 提供了在本地运行 Hippo 的说明,以及macOS 和 Linux 系统的详细信息。

在 WSL2 Ubuntu 20.04 LTS 系统上获得运行 Hippo 的先决条件存在一些问题。首先,我需要安装 WAGI,即 WebAssembly 应用程序网关接口。这很容易安装,在其 GitHub 存储库中托管的可下载 tarfile 中有一个二进制文件。一旦下载、解压并移动到用户二进制目录,它就可以轻松运行。我借此机会安装了 Rust,因为如果我必须重新编译任何 Deis 工具,我可能需要它。

这一步可能是 WSL2 上最困难的,因为它需要一份 build-essential 工具包的副本。Ubuntu 20.04 没有正确的依赖集,所以我需要一个替代的包安装程序,它允许我将某些关键库降级到适当的版本。Stack Overflow 的回答向我指出 aptitude,这是 apt 的替代品,它允许您为安装选择适当的依赖项并允许它替换两个低级 C 库。我终于使用它的安装脚本安装了 build-essential,为 Rust 做好准备。


什么是绑定?

将 Rust 安装为 Hippo 安装的一部分的主要原因是为了Deis 的 WebAssembly 打包工具Bindle。Bindle 被描述为“聚合对象存储”系统。它的文档使用的比喻是“Binder 是数字银器抽屉”。我们的银器抽屉里可能都有一些不同的物品,但我们都使用抽屉来分类和存放银器。Bindle 对构成现代应用程序的工件做了很多相同的事情,同时根据应用程序的使用方式和使用位置,提供了对应用程序如何组合的一定程度的理解。

推荐的白皮书

您可以拥有一个应用程序的 Bindle 描述,其中包含在资源受限的边缘主机(如 Raspberry Pi)上进行稀疏安装以及位于公共云核心的高性能服务器所需的元素。应用程序主机中的 Bindle 客户端可以获取元素和依赖项并适当地部署它们。结果是一个以应用程序为中心的部署模型,它避免了使用存储库和智能描述将正确的代码交付到正确的环境的多次构建。

安装 Bindle 后,您可以运行它,使用默认设置设置本地 Bindle 服务器以供 Hippo 使用。接下来,我安装了Node.js的,使用由微软提供的WSL说明。这需要使用 curl 下载 nvm,然后运行它以安装最新和长期支持的 node.js 版本。不要使用 Ubuntu 说明来安装节点;他们使用 snap 来安装它,并且在 WSL2 中并没有很好地支持 snap。

您需要为任何 Hippo 托管的 Rust WebAssembly 应用程序安装 Rust 的 wasm32-wasi 支持,以及 yo-wasm Yeoman 应用程序脚手架工具。这将允许您将 Rust 代码编译为 WASI 目标,准备在 Hippo 中运行。

有了这些,我现在可以安装 .NET 5,在安装 .NET 5 SDK 和运行时之前,首先设置对 Microsoft 的 Debian 包存储库的支持。.NET 运行时有 两种选择:一种支持 ASP.NET Core,另一种不支持。由于 Hippo 是一个模型-视图-控制器 Web 应用程序,您应该使用 ASP.NET 版本的运行时。


构建和运行 Hippo

一旦安装了所有先决条件,您就可以构建 Hippo。首先将 Hippo GitHub 存储库克隆到 WSL 系统的本地目录中。安装后,您可以构建和运行该应用程序,通过添加 BINDLE_URL 环境变量将其指向您的本地 Bindle 服务器。此时最好安装 Hippo 的 CLI,因为它是应用程序开发和部署所必需的。

您现在可以连接到您的 Hippo 服务器以测试它是否正常工作。您应该在 localhost 的 5001 端口上找到它。如果您正在运行 WSL 2 的最新版本,您应该能够使用 localhost 从 Windows 桌面浏览器连接到它,因为 Microsoft 终于修复了 WSL 2 的一个长期存在的问题网络问题,通过 Windows 代理其虚拟机网络,同时仍保留其自己的 IP 地址和虚拟网络交换机。不再需要脚本来提取和共享网络地址。

在连接到服务器之前,您需要注册一个帐户。由于它在本地运行,您可以选择您喜欢的任何帐户详细信息;只要确保它们是您能记住的东西,因为您需要详细信息来构建您的第一个应用程序。创建帐户后,登录。您将被带到带有“创建新应用程序”按钮的“您的应用程序”页面。


创建您的第一个Hippo WebAssembly 应用程序

虽然您可以从 Web UI 为 Hippo 构建应用程序,但现在使用命令行更容易。确保您已安装 Hippo CLI,因为 Yeoman 将使用它为您构建应用程序脚手架。在开始之前,为您的 Hippo 帐户和密码及其端点设置环境变量。是的,这不是很好的安全实践,但在这里我们只是使用尚未准备好用于生产的软件在隔离的 PC 上构建和运行测试代码。

要构建一个基本的 hello world 应用程序,请使用 yo-wasm 工具构建一个 WebAssembly Rust 应用程序。如果您按照脚本操作并输入适当的值,这将构建源代码并将其加载到您的 Hippo 服务器中。

接下来使用 Rust 货物工具来编译和测试您的 WASI 应用程序。在命令行上运行它后,您可以使用 Hippo 的 CLI 工具将其推送到 Bindle,在那里它将在 Hippo 中可见。打开项目,选择您构建的开发环境,然后单击链接以运行您的代码。

河马有很多值得喜欢的地方。如果 WebAssembly 缺少一件事,它是一个有效的类似 Heroku 的游乐场,可以帮助您入门。Hippo 可能还不是那个游乐场,但它肯定是您现在可以将其用作您自己的开发工作流程的一部分,即使在其早期阶段也是如此。

能够在开发 PC 上运行它是一个额外的优势,因为不需要依赖第三方系统。它的影响足够低,可以作为 WSL 2 环境的一部分运行,因此您可以利用 Visual Studio Code 等工具,使用其远程开发功能从 Windows 编辑 WSL 中的 Rust 代码。

如果您对 WebAssembly 感兴趣,Hippo 很可能是您入门所需的工具。它使使用 WebAssembly 代码变得更简单,将运行开发所需的许多不同部分集中到一个地方。尽管它显然仍然是一个早期版本,但这里有足够的内容让您入门,使其成为任何使用 WebAssembly 的人的必备工具。

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

了解新钛云服

往期技术干货

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
骑士加时逆转3-2活塞:哈登30+8+6比肩詹姆斯 坎宁安39+7+9

骑士加时逆转3-2活塞:哈登30+8+6比肩詹姆斯 坎宁安39+7+9

醉卧浮生
2026-05-14 11:07:28
一代人觉醒,三代人托举:这篇文章,建议每个普通家庭都读两遍

一代人觉醒,三代人托举:这篇文章,建议每个普通家庭都读两遍

心理观察局
2026-05-12 08:55:11
中美关系,有了新定位

中美关系,有了新定位

中国新闻周刊
2026-05-14 16:01:38
大学教师南宁火车站走错出口,遭安检员追打致10处挫伤,被认定互殴各拘留5天,要求撤销处罚法院已立案

大学教师南宁火车站走错出口,遭安检员追打致10处挫伤,被认定互殴各拘留5天,要求撤销处罚法院已立案

大风新闻
2026-05-14 14:02:21
亚太股市全线上涨,港股大涨,A股为何逆势大跌走出独立行情?

亚太股市全线上涨,港股大涨,A股为何逆势大跌走出独立行情?

丁丁鲤史纪
2026-05-14 12:17:57
欧媒:穆里尼奥执教的百分皇马,至今仍是西甲历史最佳表现

欧媒:穆里尼奥执教的百分皇马,至今仍是西甲历史最佳表现

懂球帝
2026-05-14 15:26:15
“空军一号”轰鸣而过,解放军岿然不动,视频火爆外网

“空军一号”轰鸣而过,解放军岿然不动,视频火爆外网

极目新闻
2026-05-14 10:08:46
他来晚了,但总比不来好

他来晚了,但总比不来好

丁刚看世界
2026-05-14 11:20:15
武功山景区遭“臭屁虫”围攻?有游客调侃“张嘴能吃饱”,景区提醒:可自备防虫药物

武功山景区遭“臭屁虫”围攻?有游客调侃“张嘴能吃饱”,景区提醒:可自备防虫药物

潇湘晨报
2026-05-14 17:33:19
摩洛哥幸福新娘事件升级!河南一男子刷到该视频,断然与对象退婚

摩洛哥幸福新娘事件升级!河南一男子刷到该视频,断然与对象退婚

火山詩话
2026-05-14 07:04:08
马斯克高呼“太棒”,黄仁勋竖起大拇指

马斯克高呼“太棒”,黄仁勋竖起大拇指

中国新闻周刊
2026-05-14 18:14:06
经济学家:央视不播世界杯是危险信号 知名博主:将会引发灾难

经济学家:央视不播世界杯是危险信号 知名博主:将会引发灾难

念洲
2026-05-14 14:30:14
“那家伙在空军1号前居然一动不动”!美媒注意到一名中国仪仗兵

“那家伙在空军1号前居然一动不动”!美媒注意到一名中国仪仗兵

阿龙聊军事
2026-05-14 11:02:15
白宫记者随专机抵京,被解放军军姿震撼拍爆外网,登上头条!

白宫记者随专机抵京,被解放军军姿震撼拍爆外网,登上头条!

大稻网络科技
2026-05-14 09:11:51
54岁马斯克现身人民大会堂前,拿手机拍不停,“像个小孩儿”

54岁马斯克现身人民大会堂前,拿手机拍不停,“像个小孩儿”

译言
2026-05-14 11:48:24
女子穿礼服退款后续:身份被扒已社死,工作被停职,商家准备起诉

女子穿礼服退款后续:身份被扒已社死,工作被停职,商家准备起诉

千言娱乐记
2026-05-13 12:18:49
A股:尾盘加速下跌,释放了两个信号,明天,周五或要这样走!

A股:尾盘加速下跌,释放了两个信号,明天,周五或要这样走!

明心
2026-05-14 16:32:37
郑强翻车,翻得一点也不冤!

郑强翻车,翻得一点也不冤!

梳子姐
2026-05-13 12:19:44
教科书式急救显担当:7号线潘广路站黄金4分钟挽回乘客生命

教科书式急救显担当:7号线潘广路站黄金4分钟挽回乘客生命

上海地铁
2026-05-14 18:22:17
河北无极县一男子持刀将女子杀害!警方通报,知情人发声,引热议

河北无极县一男子持刀将女子杀害!警方通报,知情人发声,引热议

乌娱子酱
2026-05-14 16:35:03
2026-05-14 19:28:49
新钛云服
新钛云服
云管理服务专家
471文章数 30关注度
往期回顾 全部

科技要闻

马斯克说会谈很顺利 黄仁勋点赞 库克比耶

头条要闻

中美元首会谈细节:贝森特戴蓝色领带 鲁比奥看天花板

头条要闻

中美元首会谈细节:贝森特戴蓝色领带 鲁比奥看天花板

体育要闻

争议抽象天王山,和季后赛最稳定中锋

娱乐要闻

何九华官宣当爸!全程不提孩子妈

财经要闻

李强会见美国工商界代表

汽车要闻

双零重力座椅/AI智能体/调光天幕 启境GT7内饰发布

态度原创

亲子
艺术
手机
家居
旅游

亲子要闻

摆烂在家的孩子,为什么会疯狂要钱?

艺术要闻

这才是草书源头法帖!揭露古人不外传的笔法,王羲之也要叫“祖师爷”

手机要闻

华为Pura 90 Pro系列首周7日销量曝光:超20万台,同比增70%

家居要闻

精神奢享 对话塔尖需求

旅游要闻

容贤标:把猫儿山独有的上古文脉活化好

无障碍浏览 进入关怀版