WebAssembly组件模型是一种用于构建可互操作的WebAssembly库、应用程序和环境的架构,被认为是将Wasm从当前"网络二等语言"地位提升的重要方案。
根据Mozilla软件工程师Ryan Hunt在2月26日发布的博客文章,自2021年开始开发的WebAssembly组件模型将为WebAssembly提供关键能力,这些能力包括:
标准化的自包含可执行构件
多种语言和工具链的支持
WebAssembly代码的加载和链接处理
Web API使用支持
Hunt解释说,WebAssembly组件定义了一个高级API,该API通过一组低级Wasm代码实现。"就目前情况而言,我们认为WebAssembly组件将是网络发展的正确方向,"他写道。
据Hunt介绍,Mozilla正在与WebAssembly社区组合作设计WebAssembly组件模型,Google也在评估该模型。在他的文章中,Hunt认为尽管WebAssembly自2017年推出以来增加了共享内存、异常处理和批量内存指令等功能,但在更广泛的网络采用方面仍然受到阻碍。"造成这种情况的原因很多,但核心问题是WebAssembly在网络上是一种二等语言,"Hunt写道。"尽管有了所有这些新的语言特性,WebAssembly仍然没有与网络平台紧密集成。"
WebAssembly被定位为提升网络应用程序性能的二进制格式,它也可以作为其他语言的编译目标。但Hunt认为,WebAssembly与网络的松散集成导致开发者体验较差,开发者只有在绝对需要时才会使用它。
"很多时候,JavaScript更简单且足够好用,"Hunt说。"这意味着Wasm用户往往是有足够资源来证明投资合理性的大公司,这将WebAssembly的益处限制在更大网络社区的一小部分,"他写道。Hunt写道,JavaScript在加载代码和使用Web API方面具有优势,这使其成为网络上的一等语言,而WebAssembly则不是。他认为,如果没有组件模型,WebAssembly对于网络使用来说太复杂了。他还补充说,标准编译器不会生成在网络上运行的WebAssembly。
Q&A
Q1:WebAssembly组件模型是什么?
A:WebAssembly组件模型是一种用于构建可互操作的WebAssembly库、应用程序和环境的架构。它旨在通过提供标准化的自包含可执行构件、多语言支持、代码加载链接处理和Web API使用支持等关键能力,来改善WebAssembly与网络平台的集成。
Q2:为什么说WebAssembly是网络上的二等语言?
A:WebAssembly被称为二等语言是因为它与网络平台的集成不够紧密,导致开发者体验较差。相比之下,JavaScript在加载代码和使用Web API方面具有优势,成为网络上的一等语言。开发者通常只有在绝对必要时才会使用WebAssembly。
Q3:WebAssembly组件模型能解决什么问题?
A:该模型能解决WebAssembly与网络平台松散集成的问题,提供更好的开发者体验,使WebAssembly不再过于复杂。通过标准化组件架构,它有望让WebAssembly从当前的二等地位提升,扩大其在网络社区中的采用范围。
好文章,需要你的鼓励
AI软件开发自动化初创公司8090 Solutions宣布完成1.35亿美元A轮融资,由Salesforce Ventures领投。8090由知名风险投资人Chamath Palihapitiya于2024年创立,其核心产品"Software Factory"是一款AI平台,通过自然语言文档帮助企业加速应用开发,支持现有程序现代化改造及全新应用构建。此次融资将用于扩充团队规模和基础设施建设。
港科大与快手联合提出NormGuard,针对流匹配模型强化学习训练中速度范数膨胀问题,通过训练时单向惩罚约束,在保留奖励的同时改善图像真实感。
火箭实验室(Rocket Lab)宣布计划以现金加股票方式,斥资80亿美元收购主要卫星运营商铱星通信(Iridium Communications),交易预计于2027年中完成。铱星目前运营着由66颗活跃低轨卫星组成的星座网络,拥有约255万活跃用户,2024年营收达8.717亿美元。收购完成后,Rocket Lab计划借助其新型重型运载火箭Neutron及Lightning卫星平台,扩大铱星星座规模,开拓未被覆盖的市场并降低发射成本。
谷歌研究院开发的论文助手工具PAT,利用分阶段深度推理流水线自动审查学术论文,在真实错误检测任务上达到89.7%召回率,并已在STOC和ICML两大顶会完成超4700篇论文的真实部署。