为什么要学习WebAssembly?
2023 年你有什么学习计划?我计划要学习一门新技术——WebAssembly!为什么要学习 WebAssembly?
2019 年,Docker 创始人 Solomon Hykes 发布了一条推特在业界引起了轩然大波(见下面的推文),他说如果 2008 年 WebAssembly 和 WASI 就存在的话,他就没必要创建 Docker。一时间,关于 WebAssembly 取代 Docker 的讨论此起彼伏。也是从那时起,WebAssembly 正式进入我的视线。If WASM+WASI existed in 2008, we wouldn"t have needed to created Docker. That"s how important it is. Webassembly on the server is the future of computing. A standardized system interface was the missing link. Let"s hope WASI is up to the task! https://t.co/wnXQg4kwa4
— Solomon Hykes / @shykes@hachyderm.io[1]
(@solomonstre)
March 27, 2019
到了 2021 年,网上突然多了很多关于 WebAssembly 的炒作文章,包括我长期关注的 Istio 也在当年发布的 1.12 版本开始支持 WebAssembly(见 Istio 1.12 引入 Wasm 插件配置 API 用于扩展 Istio 生态[2] ),通过引入 WasmPlugin[3] API,使开发人员更方便扩展服务网格和网关。
最近我看到一篇介绍 WebAssembly 在 2023 年有哪些新趋势的文章[4] ,文章的作者 Matt Butcher 颇有来头,他是 WebAssembly Cloud 公司 Fermyon 的联合创始人和 CEO,也是 Helm、Brigade、CNAB、OAM、Glide 和 Krustlet 的原始创建者之一。通过他的介绍让我笃定,WebAssembly 是一门颇有前景的技术,是时候学习它了。WebAssembly 的市场前景
更何况 WebAssembly 的应用领域越来越广,像 WasmEdge[5] 这样的公司正在使用 Tensorflow 来突破可以使用 Wasm 运行的边界。Fermyon[6] 正在构建用于微服务的 WebAssembly 工具,而 Vercel[7] 、Fastly[8] 、Shopify[9] 和 Cloudflare[10] 使用 WebAssembly 在边缘运行代码。Figma[11] (2022 年以 200 亿美元被 Adobe 公司收购)正在使用 WebAssembly 为其应用程序在浏览器中提供更高的性能,而他们的新母公司 Adobe[12] 正在使用 WebAssembly 将他们的桌面应用程序带到 Web。如何学习 WebAssembly?
为了学习 WebAssembly,我制定了以下学习目标:
1. 了解 WebAssembly 的基本概念,包括它是什么、为什么要使用它、如何在浏览器中运行它;
2. 学习 WebAssembly 的语言,这是一种类似于汇编语言的低级语言,可以编译成二进制文件;
3. 使用工具将代码编译成 WebAssembly 格式;
4. 在 JavaScript 中调用 WebAssembly 模块;
5. 学习 WebAssembly 的其他特性,如内存管理、多线程和 WebAssembly System Interface(WASI);
6. 了解 WebAssembly 如何增强安全防护;
7. 学习 WebAssembly 的最佳实践,如代码优化和调试;
8. 在 Istio 中开发 WebAssembly 插件;
9. 学习使用 WebAssembly 开发的开源项目;WebAssembly 参考资料
下面列出了一些有助于学习 WebAssembly 的参考资料,包括网站和图书:
• WebAssembly 官网[13]
• WebAssembly 教程[14]
• WebAssembly 在线编译器[15]
• WebAssembly 学习资源[16]
• 《WebAssembly:权威指南:安全、快速和可移植的代码,第 1 版,2022 年 1 月》[17]
• wazero: the zero dependency WebAssembly runtime for Go developers[18] 总结
WebAssembly 不仅是用于浏览器端有效弥补 JavaScript 缺陷的一门技术,凭借它的小巧、高效和可移植性在后端也会有很广泛的应用。2023 年,让我们一起来学习 WebAssembly 吧!我也会适时得在云原生社区中创建 Wasm 学习小组,欢迎大家加入云原生社区[19] 共同交流学习。参考
• Istio 1.12 引入 Wasm 插件配置 API 用于扩展 Istio 生态 - cloudnative.to[20]
• 在 Istio 中引入 Wasm 意味着什么?- cloudnative.to[21]
• 2023 年 WebAssembly 技术五大趋势预测 - cloudnative.to[22] 引用链接
[1] shykes@hachyderm.io: mailto:shykes@hachyderm.io
[2] Istio 1.12 引入 Wasm 插件配置 API 用于扩展 Istio 生态: https://cloudnative.to/blog/istio-wasm-extensions-and-ecosystem/
[3] WasmPlugin: https://istio.io/latest/docs/reference/config/proxy_extensions/wasm-plugin/
[4] 文章: https://cloudnative.to/blog/webassembly-5-predictions-for-2023/
[5] WasmEdge: https://wasmedge.org/
[6] Fermyon: https://www.fermyon.com/
[7] Vercel: https://vercel.com/docs/concepts/functions/edge-functions/wasm
[8] Fastly: https://docs.fastly.com/products/compute-at-edge
[9] Shopify: https://shopify.engineering/shopify-webassembly
[10] Cloudflare: https://developers.cloudflare.com/workers/platform/languages/
[11] Figma: https://www.figma.com/blog/webassembly-cut-figmas-load-time-by-3x/
[12] Adobe: https://web.dev/ps-on-the-web/
[13] WebAssembly 官网: https://webassembly.org/
[14] WebAssembly 教程: https://developer.mozilla.org/zh-CN/docs/WebAssembly
[15] WebAssembly 在线编译器: https://wasdk.github.io/WasmFiddle/
[16] WebAssembly 学习资源: https://webassembly.org/getting-started/developers-guide/
[17] 《WebAssembly:权威指南:安全、快速和可移植的代码,第 1 版,2022 年 1 月》: https://www.amazon.com/WebAssembly-Definitive-Guide-Safe-Portable/dp/1492089842/
[18] wazero: the zero dependency WebAssembly runtime for Go developers: https://wazero.io/
[19] 加入云原生社区: https://cloudnative.to/community/join/
[20] Istio 1.12 引入 Wasm 插件配置 API 用于扩展 Istio 生态 - cloudnative.to: https://cloudnative.to/blog/istio-wasm-extensions-and-ecosystem/
[21] 在 Istio 中引入 Wasm 意味着什么?- cloudnative.to: https://cloudnative.to/blog/importance-of-wasm-in-istio/
[22] 2023 年 WebAssembly 技术五大趋势预测 - cloudnative.to: https://cloudnative.to/blog/webassembly-5-predictions-for-2023/
为何陈梦两次败给王曼昱,确实是实力不允许吗?王曼王战胜孙颖莎得到女单冠军,是长期苦练,用汗水换来的。是大庆之事。陈梦败给王曼玉。应该有身体太疲劳过度的缘故。主要原因,还是他是众人追赶研究的对象。细微有缺点,都会加以研究放大利
想存茅台,还有前途吗,有没有什么好办法?感谢邀请,关于你的问题,想必也是大部茅粉有心中的问题吧。我在大家心中可能都有一个心理,随着这两年茅台酒的暴涨,要是我前几年多买点茅台该多好。那现在买还来得及吗?想存点茅台,那茅台还
为什么现在玩微信的附近人越来越少了?微信玩附近的人无非是寂寞和无聊打发时间,玩附近的人会引火烧身,男人玩附近的人加你的人几乎为零,除非是销售人员,女人打开附近的人基本上会被加,加你的大多数是男人,这类男人都是社会底层
马云投资1000亿,成立阿里巴巴达摩院,成果如何?不不要喷马云,马云也有许多可圈可点的地方,义捐办学,支持国有芯片企业,总比那个石圪节,还有那个说中国科技缺钱不怪我的人好多了,达摩院是搞科技的,是长远利益,支持科研芯片,也是对中国
中医这么厉害,为何肺痨,痈都会致死?这是迄今为止有史以来最傻的问题!!!!你以为西医,中医都是阻止生老病死的???天道轮回,历史车轮岂是你想挡就挡得?任何医学都是缓和病痛,延缓生命。不是推动地球倒转的!!!西医这么牛
血压高,心率也快,我应该怎么办?高血压是今天最为常见的一种慢性疾病,而且近年来发病率居高不下,且逐渐呈现年轻化趋势。高血压的危害较大,严重会危机患者的生命,应该引起患者足够的重视。血压高,心率也快,我应该怎么办?
散户怎么样能成功逃顶?有什么实用的技巧?说到逃顶,这个顶肯定是股价有过一波较大幅度,股价已经走到相对高位。但股价的高点,并没有明晰的确定。到底哪里是高点需要高抛,这里分享用K线形态或K线组合来成功逃顶的方法。1股价运行到
坐月子能吃炒菜吗?当然可以呀,其实月子里吃东西没那么多讲究的,注意几点就行1,不吃凉的,水果也要泡热或者正热一点。2,不吃辣的,宝宝喝母乳会上火。3,不吃烫的,饭菜放温乎再吃,我坐月子吃了烫饭,真的
王者荣耀想要练李白,有没有那种由简入繁的攻略,从基础开始教的推荐一下好吗?心怀荣耀方能成就王者,大家好我是指尖上的王者,李白是我最喜欢的英雄,也是我玩的场次最多的英雄,然而很多粉丝会问,为什么指尖从未写过任何一篇关于李白的文章呢?我个人是这么看的,既然是
ADC碰到对面一个特别肥的妖姬怎么办?如果你打字够快,在视野看到妖姬,立马从所有人输入爸爸两个字,应该还有一丝丝存活下来的希望可怜治不了,等死吧,告辞三连!当然是开玩笑的,说归说,闹归闹,别拿我ADC开玩笑。让我们先从
朱芳雨调徐昕和张明池进入广东一队,你怎么看?双神塔进广东一队,球迷预测至少五连冠,谁注意朱芳雨的操作?双神塔塔,这听起来可不一般,不就是徐昕和张明池吗,這两个年青小将,目前有身高,看这还很有发展前途,是神塔或是土塔,现在还不