WebAssembly入门课

WebAssembly入门课 / 从0到1实现一个WebAssembly多媒体应用

于航 PayPal 高级软件工程师
  • 课程目录
  • 课程介绍
  • 在线阅读:开篇词 | 我们为什么要了解 WebAssembly?

    在未来的 3~5 年里,Wasm 一定能够被逐渐广泛地应用到包括 Web 在内的各个平台和业务领域中。

  • 01 | 基础篇:学习此课程你需要了解哪些基础知识?

    希望这节基础课能够为你在接下来的 WebAssembly 学习之旅中,提供一些帮助。

  • 02 | 历史篇:为什么会有 WebAssembly 这样一门技术?

    实际上在 Wasm 真正出现之前,人们就已经开始尝试探索各类新型技术以赋予 Web 应用更高的运行效率。

  • 03 | WebAssembly 是一门新的编程语言吗?

    对我来说,Wasm不是一门编程语言,它完全不同于我们常见的高级程序设计语言,我们通常仅将其用作编译器的一种新的编译目标。

  • 04 | WebAssembly 模块的基本组成结构到底有多简单?

    这节课我们主要介绍了一个 Wasm 模块在二进制层面的具体组成结构。

  • 05 | 二进制编码:WebAssembly 微观世界的基本数据规则是什么?

    本节课,我们就来一起看看 Wasm 所使用的这些数据编码方式,它们决定了 Wasm 在二进制层面的具体数据存储规则。

  • 06 | WAT:如何让一个 WebAssembly 二进制模块的内容易于解读?

    WAT,是一种可以将 Wasm 二进制字节码基于 “S-表达式” 的结构,用“人类可读”的方式展现出来的文本代码格式。

  • 07 | WASI:你听说过 WebAssembly 操作系统接口吗?

    WASI 通过增加“抽象层”的方式,解决了 Wasm 抽象机器(V-ISA)与实际操作系统调用之间的可移植性问题。

  • 08 | API:在 WebAssembly MVP 标准下你能做到哪些事?

    能够使用 JavaScript 来实现的功能,其中部分还无法直接通过 Wasm 实现(比如调用 Web API)。

  • 09 | WebAssembly 能够为 Web 前端框架赋能吗?

    在这节课中,我尝试按照 Wasm 与 Web 前端框架的“整合程度”不同,将两者能够相互结合的可能方式大致分为了四种方案

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

    在这节课里,我们举了两个比较有代表性、在现实生活中的 Wasm 生产实践案例。

  • 11 | WebAssembly 在物联网、多媒体与云技术方面有哪些创新实践?

    在本节课中,我们主要介绍了 Wasm 在“物联网”、“多媒体”以及“云”这三个技术领域内的一些创新性实践。

  • 12 | 有哪些优秀的 WebAssembly 编译器与运行时?

    本节课我们来一起看看,目前业界有哪些优秀的 Wasm 运行时。

  • 13 | LLVM:如何将自定义的语言编译到 WebAssembly?

    分段式的结构更易于编译链路中对各重要组件的复用。同时,“三段式”也能够让编译链路的扩展变得更加轻松。

  • 14 | 有哪些正在行进中的 WebAssembly Post-MVP 提案?

    在今天的课程中,我们主要介绍了 Wasm 从 MVP 标准到 Post-MVP 标准所经历的变化。

  • 15 | 如何实现一个 WebAssembly 在线多媒体处理应用(一)?

    Emscripten 有着众多的特性和功能等待着你去探索。

  • 16 | 如何实现一个 WebAssembly 在线多媒体处理应用(二)?

    今天我们主要讲解了本次实践项目中与 JavaScript 代码相关的几个重要功能的实现思路,以及实现细节。

  • 17 | 如何实现一个 WebAssembly 在线多媒体处理应用(三)?

    通过完整的三节课,我们讲解了如何从第一行代码开始着手编写一个完整的 Wasm Web 应用。

  • 18 | 如何进行 Wasm 应用的调试与分析?

    在今天这节课中,我们主要讲解了有关 Wasm 应用调试的一些现阶段可用的方案。

  • 19 | 如何应用 WASI 及其相关生态?

    在本节课中,我们主要讲解了如何从零构建一个 WASI 应用。

  • 20 | 总结与答疑

    在这节课里,我将和你总结一下自开课这段时间以来,各位同学在各个渠道提出的有关 Wasm 的一些问题。

  • 结束语 | WebAssembly,未来已来

    感谢你的一路同行。

  • 期末测试|这些 WebAssembly 的问题,你都掌握了吗?

    满分?单选7道+多选13道

23讲

你将获得

  • WebAssembly 开发实战技巧


讲师介绍

于航,PayPal 高级软件工程师,WebAssembly 技术布道者,FCC (FreeCodeCamp China)上海技术社区负责人,QCon 和 GMTC 大会讲师、出品人。

研究方向主要为 Web 前端基础技术架构、WebAssembly、LLVM 及虚拟机技术。曾出版国内第一本 WebAssembly 技术书籍《深入浅出 WebAssembly》。

2017 年注册成为 W3C 官方 CG 成员,定期参与 CG 组织的在线视频研讨会议,为 Wasm 的标准化提出发展建议。2018 年,深度参与 Emscripten 编译器工具链项目的研发工作,并致力于推动国内 Wasm 技术的发展和落地实践。


课程介绍

提起 WebAssembly ,很多人对它的印象只是一个看上去比较“抽象”的新技术。它不像一个新推出的框架或者库,功能定位十分清晰,并且可以直观地通过代码来展示。所以我们难免有这样那样的疑惑,比如 WebAssembly 的 Web 到底是指啥?WebAssembly 究竟能够具体干什么?WebAssembly 能够给我们的工作带来哪些提效?

基于此,于航老师从自己丰富的 WebAssembly 相关经验出发,从核心原理入手,为你梳理了一套完整的 WebAssembly 学习方法,为你打牢学习 WebAssembly 的基础。在基础之上,于航老师会更多地关注 WebAssembly 的应用层面,为你剖析 WebAssembly 现有应用背后逻辑,从而带你更好地理解 Wasm 及其相关生态。与此同时,会带你从0到1把一个 WebAssembly 多媒体应用落地,让你在搭建 WebAssembly 知识体系的同时,迅速上手实践,掌握学习新技术的要点,在实战中全方位提升自己的学习与实践能力。

课程模块设计

课程主体分为三个大模块,分别是原理篇、应用篇和实战篇。

原理篇将从“ WebAssembly 是什么” 这个问题出发,以最基本的 Stack Machine 开始介绍,到最后的 WASI ,逐渐带你从外部体系深入到 WebAssembly 的二进制世界。并且讨论一个被很多人提及的问题 — “是否能够使用 WebAssembly 技术来优化 Web 前端框架?”为你夯实WebAssembly 基础,建立整体认知框架。

应用篇将从 WebAssembly 所“支持”的编程语言讲起,分析投入到生产环境中使用的 WebAssembly 案例,以及 WebAssembly 在物联网、多媒体以及云技术等方面业界正在进行的尝试。最后,会带你浏览一些目前业界最优秀的 WebAssembly 底层基础设施。从理论到案例,带你了解 WebAssembly 的应用逻辑。

实战篇将会使用 WebAssembly 来优化多媒体资源的处理过程,为你讲解与 WebAssembly 有关的 JavaScript API ,以及常用编译工具链的基本使用方式,带你从0到1实现一个WebAssembly多媒体应用。从案例到实战,带你快速上手 WebAssembly ,提高你的应用实战能力。


课程目录


特别放送

免费领取福利


限时活动推荐


订阅须知

随机推荐

轻上西梅饮膳食纤维植物果蔬汁益生菌元风味饮料评测数据怎样?良...

轻上西梅饮膳食纤维植物果蔬汁益生菌元风味饮料简单易上手吗?网...

朗适RS100性价比如何?全方位评测分享!

狮王小狮王儿童氟防蛀牙膏 20g使用感受如何?小白买前必看!

蒙牛纯甄草莓果粒常温酸奶200g×10选购哪种好?良心评测点评分享...

追致手持小风扇「2024新款」珍珠白评价怎么样?老用户评测,值得...