WebAssembly 入门课
于航
PayPal 高级软件工程师
10751 人已学习
新⼈⾸单¥29
登录后,你可以任选4讲全文学习
课程目录
已完结/共 23 讲
结束语 (1讲)
WebAssembly 入门课
15
15
1.0x
00:00/00:00
登录|注册

10 | 有哪些已经投入生产的 WebAssembly 真实案例?

你好,我是于航。
本节课,我们将不再“拘泥”于 Wasm 的实现细节,而是要从技术标准走向生产实践。作为应用篇中的第二节课,我们将一起来看看从 2017 年 Wasm MVP 标准的确定,直到如今 WASI 出现,使得 Wasm 走出 Web 的这几年时间里,现实世界中有哪些已经投入生产的 Wasm 真实案例?而这些案例又是怎样利用 Wasm,解决了哪方面实际问题的呢?(这节课里介绍的几个案例,均由我总结于网络上相关公司发布的文章或视频分享。)

eBay - Barcode Scanner

第一个我们要介绍的实际案例来自于 eBay 在 Wasm 上的一次尝试。
eBay 是一家知名的线上拍卖与购物网站,人们可以通过 eBay 来在线出售自己的商品。作为一家知名的购物网站,为了优化用户录入待售商品的操作流程,eBay 在自家的 iOS 与 Android 原生应用中提供了“条形码扫描”功能。
通过这个功能,应用可以利用移动设备的摄像头扫描产品的 UPC 条形码,然后在后台数据库中查找是否有已经提交过的类似商品。若存在,则自动填写“商品录入清单”中与该物品相关的一些信息,从而简化用户流程,优化用户体验。

问题所在

在 iOS 与 Android 原生应用中,eBay 借助了自研的、使用 C++ 编写的条形码扫描库,来支持 UPC 条形码的扫描功能。而这对于诸如 iOS 与 Android 等 Native 平台来说,条形码的实际扫描性能得到了不错的保障,应用表现良好。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

WebAssembly(Wasm)作为一种新兴的技术标准,已经在实际生产中得到了广泛应用。eBay 和 AutoCAD 的案例展示了 Wasm 技术在解决实际问题并提升用户体验方面的潜力。eBay 成功将 C++ 条形码扫描库应用到 HTML5 应用中,提供了接近 Native 代码的执行效率,并解决了 JavaScript 版本的性能不稳定的问题。通过 Docker 构建统一的 Wasm 编译管道,确保了一致的编译环境。AutoCAD 则尝试将其 Native 应用移植到 Web 平台,而基于 Wasm 的方案给予了在 Web 平台上流程运行的可能。这些案例展示了 Wasm 技术在实际生产中的应用,以及如何解决实际问题并提升用户体验。 Wasm 技术的应用为将 Native 应用移植到 Web 应用提供了新的可能性,同时也展现了在不同环境下的执行效率和稳定性。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《WebAssembly 入门课》
新⼈⾸单¥29
立即购买
登录 后留言

全部留言(11)

  • 最新
  • 精选
  • pedro
    可以总结一下,webassembly 非常适合迁移有其它语言沉淀的类库到 web 平台

    作者回复: 没错的,这是在应用 Wasm 时可以纳入考虑的一个比较重要的特征。

    2020-09-25
    7
  • 李冬杰
    老师,c++、c、rust,它们能编译到wasm的前提是什么?随便一个c++项目都可以吗?

    作者回复: 这个主要看编译工具的支持程度,举个例子,比如一段 C++ 里有内联的汇编代码,那么这段代码能否被编译到 Wasm 就要取决于诸如 emcc 等编译器能否进行处理了。其他语言也是类似的,目前并没有统一的区分标准,表明哪些可以被编译哪些不能。

    2020-11-03
    3
  • huge
    这个画图的软件是啥

    作者回复: 工具在这边:https://app.diagrams.net/

    2020-10-09
    2
  • 功夫熊猫
    目前llvm主流是拿c语言开发。那是不是可以在js或者ts里用wasm来调用llvm来开发

    作者回复: 哈哈哈不考虑场景的话,理论上是可以的。

    2022-12-03归属地:江苏
  • 懒懒想睡觉
    前端的Blazor和WASM是什么关系呢。

    作者回复: Blazor 本身是一个微软开发的 SPA 框架,Wasm 主要用于在浏览器里运行 .NET 代码。详情可以看这边了解:https://docs.microsoft.com/zh-cn/aspnet/core/blazor/?view=aspnetcore-5.0#blazor-webassembly-1

    2021-09-11
  • 慌慌张张
    老师,请教一下,wasm可以用来前端加密嘛?我是这样想的,传统的js即使压缩后下载到本地其实也能看懂,但是wasm这种字节码应该看还是比较困难的,是不是可以应用在机密场景?

    作者回复: 不建议这样使用,有一些工具可以将字节码转到 C-like 代码,生成的代码基本是可读的。

    2020-10-29
    2
  • 慌慌张张
    我们公司直播页面也是基于wasm的,感觉native和web上主要是编译库,好多特性在wasm不支持。

    作者回复: 比如哪些特性呢?

    2020-10-28
    2
  • 现在国内有哪些知名的团队在使用 WebAssembly 技术, 国内的案例? 去招聘网站看了一下,几乎没有对应的职位的

    作者回复: 国内有一些公司在尝试性使用,但目前相对来说还是比较少的。比如华为、阿里云有做过调研。而全民 K 歌应该是有在生产环境中使用。目前应该还没有专门为 Wasm 设立的岗位,大多还是在观望。

    2020-09-26
    2
  • Bachue Zhou
    为什么 js 版本的库居然可以超过 wasm 版本?
    2023-05-09归属地:上海
  • xgqfrms
    @极客时间 音频播放器为什么不支持音量调节呀?
    2023-02-21归属地:美国
收起评论
显示
设置
留言
11
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部