webassembly 这东西现在怎么样了?好像很久没看到有人提起过了。
几年前这个概念蛮火的,但是没看到有什么落地场景,当时见到最多的案例是把 windows 系统, 数据库,客户端游戏运行在浏览器中。
当时讨论比较多的 wasi ,好像也没什么下文。
几年过去了:
webassembly 现在是一个什么情况?
大家有什么在生产中落地它的实践吗?
目前社区对它未来的发展方向是怎么规划的?
还在发展中,他现在更适合作为一个跨语言的 sdk ,在 js 的场景中,由于数据交换等问题他未必比 js 快
ASP.NET Core 9 的主推架构 Blazor 就是基于 webassembly 的微软落地。
目标是让一个 C#码农可以全栈开发。
具体可以看
learn.microsoft.com/zh-cn/aspnet/core/tutorials/choose-web-ui?view=aspnetcore-9.0
因为很多用例已经集成在库里了,npm 上不少包就是有 wasm 的(你直接搜索这个关键词就好了
bolt 这类的 web AI 构建工具( webcontainer )
b 站 av1 编码软解
各类的在线 ffmpeg 套壳
wasi 很多场景其实有落地一轮了,比如说 Cloudflare Worker 的多语言支持其实都是 WASI 的落地,一些边缘计算和 Serverless 场景都有在用了。
网页端不愠不火才发展的 WASI ,很多 npm 包来自一些跨语言编译的工具,比如说 ffmpeg 等等工具,尤其是重计算的。实际业务开发里不是相关行业的应用感觉都不是特别多的应用
figma 不是听说就是重度 wasm 的
感觉实际上还是在 web 领域高性能需求或者移植复杂度上有优势吧。
比如要高性能或者简单的 native 移植。
wasi 似乎用的不算特别多?感觉确实是不温不火。
很多地方在用的,只是没有看起来很火
用 zbar wasm 直接在网页上读取 pdf 里的条码
它并不替代什么场景,但是增加了一些场景,用不到那些新增场景的话感知不到是正常的
项目的播放器 ass 和 ssa 字幕用到了这个做渲染
Blazor 好久没关注了我记得貌似还是和 next 一样的服务器渲染初始页,再到浏览器中水合动态执行来着?
写了两年边缘函数计算,最后因为客户太少沦为竞标项
印象中 flutter 中有这块功能,使用率没太关注
还是有的, 我现在就是用 Flutter 和 Electron 混合来构建统一的跨端混合 UI ,解决一些通讯上的坑后,还是很丝滑的
用来在线处理挺好的,不用安装 ffmpeg
这玩意的寻址范围还是只有 4GB 么
各种在线视频的解码器吧,如果不是浏览器原生支持的编码都用 ffmpeg 转一下
你要是觉得这玩意没用,肯定是没接触过前端模型。小的模型,都直接都是 wasm 加 simd 的。很快很好用。
一些视频平台的关键参数计算或者 payload 解密都写在 wasm 里
刚跟运营商的朋友闲聊,他提到现在几家运营商都正进行核心网改造以支持非 1 开头的手机号码,根据集团内部的计划说明,按照现有号池的使用进度,预计 24 年四季度或 25 年前三季…
刚刚指挥 AI 帮我写一个清理挂载 usb 设备的 linux 脚本,执行完脚本发现日志不对劲,直接把我硬盘给清空了 本意是想让AI优化 cleanup_mounts 函数…
前几年,我一直期待 graalvm 把 java 编译成 native image 可以大幅减少 java 的内存占用,直到今天我用 graalvm 把我一个简单的 sprin…