• ARTICLE
  • STRING
  • CONVERTER
  • ENCRYPT
  • NETWORK
  • MORE
    CHART
    MATH
    COORDINATE
    IMAGE
    FILE
  • ARTICLE
    STRING
    CONVERTER
    ENCRYPT
    NETWORK
    MORE
    CHART
    MATH
    COORDINATE
    IMAGE
    FILE
logo Online Tools
All Chinese English Newest Hottest
21 search results Contribute

近年来,无论是 Serverless 还是 WebAssembly,都越来越受到开发者的广泛关注,作为字节跳动内部的函数计算平台,ByteFaaS 在 WebAssembly 方向上也有着不少的探索和实践。我们利用 WebAssembly 技术构建出了极致轻量化的函数运行时,并辅以全新设计的精简架构,打造出了云边一体的 Serverless 解决方案,拓展了 FaaS 的边界和应用场景,为业务带去了更多的可能。 本文将先带领大家认识 ByteFaaS 平台,分别介绍经典 FaaS 和 FaaS Worker(轻量级函数)方向。随后通过 WebAssembly 运行时、精简架构、开发者支持三个方面,详细介绍 FaaS Worker 的设计与实现。最后在文章结尾,会对 WebAssembly 函数能够为用户所带来的收益进行大致总结。

15 Technology lddgo Shared on 2023-07-12

在 WebAssembly 社区蓬勃发展的当下,或出于对 JavaScript 等动态语言面对计算密集型任务时改善性能的愿望(如 Ammo.js),或源自将桌面表现出色的软件搬上 Web 环境的想法(如 AutoCAD),或希望在服务端利用沙箱来尽可能保证安全(如 Shopify-Serverless),越来越多的开发者选择 WebAssembly 技术。 而对于一项技术而言,围绕这项技术的开发工具矩阵是否完备,是否足够强大和易用,以及给开发者们带来的体验好坏,则是决定开发者们在尝试之后能否成为拥趸的关键因素。通常来说,一段代码的生命周期,包括编写、测试、交付与部署、上线生效、问题定位与修复等环节。在问题出现之后,对代码的源码调试(Source Code Debugging)往往是定位问题最高效的手段。提供高效的调试工具,帮助开发者迅速解决问题,是助推 WebAssembly 技术社区发展壮大的一个重要手段。 在本文中,我们将主要围绕 WebAssembly 的源码调试,阐述若干相关的问题。

11 Technology lddgo Shared on 2023-07-12

课程的 WebAssembly 工作原理一章已经详细介绍了基于栈结构的指令执行原理和过程,然而,了解 WebAssembly 原理最有效的方式仍然是自己动手实现一个执行引擎;本文将从零开始实现一个简单的 WebAssembly 解释器 WAInterp (WebAssembly Interpreter),通过这一过程来进一步掌握和实践 WebAssembly 虚拟机技术。

15 Technology lddgo Shared on 2023-07-12

本文是一篇WebAssembly的入门文章,从理论介绍到实战方面有全面的讲述。

19 Technology lddgo Shared on 2023-06-20

狭义上的 WebAssembly 是 W3C 标准化组织制定的一个可移植、体积小、加载快并且兼容 Web 的全新二进制格式,在前面章节中已经对此做过详细的阐述;然而,随着 WebAssembly 技术的演进和广泛应用,它的内涵也在不断的外延,广义的 WebAssembly 可以理解为基于 WebAssembly 演化出来的完整生态

16 Technology lddgo Shared on 2023-05-08

在本文中,我们将讨论驱动 WebAssembly 程序运行的核心组件——引擎。首先,本文将简要介绍一个语言的引擎包括哪些主要组成部分,它们如何配合完成工作,尝试构建一个概念模型。之后,就几款社区流行的开源引擎,分别介绍各自的特点。

36 Technology lddgo Shared on 2023-04-24

WebAssembly (WASM) 的一个优势就是能够支持将不同语言编译成 WASM 代码,然后在不同的宿主环境中运行。这样就可以在不同的宿主环境中运行不同语言编写的 WASM 代码,比如在浏览器中运行 C/C++ 代码,或者在 Node.js 中运行 Rust 代码。那么,这些不同语言编写的 WASM 代码是如何运行在不同的宿主环境中的呢?在这一章中,我们将会重点介绍这些不同的语言和宿主环境中的 WASM 运行机制。

11 Technology lddgo Shared on 2023-04-18

WebAssembly 作为一项新兴的技术,已经发展至 2.0 版本;相较于 1.0 版本,2.0 版本增加了更全面的指令支持和对大容量内存的友好性;同时,向量指令的加入也提高了 WebAssembly 在复杂场景下的性能表现。目前,WebAssembly 已经广泛应用于各种 Web 和非 Web 场景,例如 Web 端的视频渲染、编解码、算法移植,以及非 Web 端的 Serverless、客户端跨平台等领域。 除了广泛的应用场景,WebAssembly 还具有跨平台、高效、安全的优点。它可以在各种计算机架构上运行,并且具有接近原生代码的性能。此外,WebAssembly 的代码可以在沙箱中运行,不会影响主机环境的稳定性和安全性,从而有助于保护用户数据和隐私。 随着 WebAssembly 技术的不断进步,未来还有许多值得期待的方向。例如 WebAssembly 的多线程支持、AI 模型的推理和训练,以及在区块链领域的智能合约编写和执行。这些发展方向有助于进一步提高 WebAssembly 的性能和功能,从而推动 Web 上更多应用场景的发展。

13 Technology lddgo Shared on 2023-04-11

WebAssembly(也称为 Wasm)以其可嵌入和隔离的执行环境而成为一种流行的便携式二进制指令格式,用于客户端和服务器应用程序。将 WebAssembly 视为一种小型、快速、高效且非常安全的基于堆栈的虚拟机,专门用于执行可移植的字节码,不在乎它运行在哪个 CPU 或操作系统上。WebAssembly 最初是为 Web 浏览器设计的,用于成为函数的轻量级、快速、安全和多语言容器,但它不再仅限于 Web。 在 Web 上,WebAssembly 使用浏览器提供的现有 API。WebAssembly 系统接口(WASI)的创建填补了 WebAssembly 和运行在浏览器外部的系统之间的空白。这使非浏览器系统能够利用 WebAssembly 的可移植性,使 WASI 成为在分发时具有可移植性和在运行负载时具有隔离性的良好选择。

15 Technology lddgo Shared on 2023-04-06

在前面章节中,我们已经对 WebAssembly 的关键特性、历史演变和核心的应用场景做了详细的介绍;基于 对 WebAssembly 的入门和初步了解,在第二部分的各个章节中,我们会从 WebAssembly 模块入手,和大家一起学习 WebAssembly 基础知识,包括核心规范,核心开发语言和工具链以及常用的执行引擎等相关内容。 本文将从 WebAssembly 模块入手介绍相关基础概念和 W3C 二进制格式核心规范,与此同时,进一步介绍 WebAssembly 的文本格式及语法,并给出一个 WebAssembly 文本 demo;以便读者可以与本文格式的介绍相互印证,进一步加深理解。

14 Technology lddgo Shared on 2023-04-04