汇编脚本项目宣称WASI(WebAssembly系统接口)和W3C(万维网联盟)的支持“对开放标准有害,尤其是WebAssemblySpecification”
上个月,该项目表示“取消对WASI的支持”,本周又宣布了反对的细节。脚本团队表示,“最终解决方案的合作不再被认为是可能的”,“WASI和WASI团队使得其他参与者几乎不可能追求与WebAssembly目标一致的努力。”
WebAssembly是一种低级语言,可以编译成二进制格式,在web浏览器中以接近本机的速度运行。相比之下,WASI在自己的项目描述中说,“设计是独立于浏览器的,所以它不依赖于Web API或JS,也不受与JS兼容的需求的限制。”WASI使用Wasmtime,这是一个独立的WebAssembly运行时,或通过polyfill在浏览器中使用有限的功能。Polyfill是添加浏览器本身不支持的API的代码。
Wasmtime和WASI的一个关键目标是为运行在浏览器之外的应用程序提供一个安全的沙盒运行时。安全桌面运行时的概念并不新鲜。其他例子包括Java和Windows 8早期版本的Windows运行时。一个固有的问题是,访问桌面用户期望的原生函数也会破坏沙箱的安全性。WASI旨在为包括文件和网络在内的系统功能提供标准和安全的API。
Script是将TypeScript的变体编译成WebAssembly的项目。“虽然不是所有的TypeScript都能得到支持,但它与JavaScript的密切关系使它成为习惯于为Web编写代码的开发人员的熟悉选择,”
当开发者在2016年首次提出将TypeScript编译成WebAssembly的想法时,他们的评论是“JS engine已经在运行时将JS代码转换成了Assembly,可以做得很好,因为他们有完整的运行时配置文件。将工作的JS程序转换成WASM程序真的没有明显的前期好处。”
然而,从那以后,WebAssembly变得越来越重要,特别是对于微软的Blazor框架,它运行。NET代码在浏览器中通过这种方式。脚本文件指出,这个项目的好用例是“计算量大的逻辑,比如图像处理、流行的游戏逻辑、特殊算法、模拟器、编译器等。”
这些文件还指出,WASI是一种在浏览器外运行汇编脚本的方式,但该团队现在认为,“WASI并没有与现有的Web平台整合,而是从根本上与之竞争。”其中一个问题是,WASI不仅提供了浏览器所缺少的API,还提供了相同功能的替代API。
另外,似乎还存在个人分歧,问题似乎不仅仅是技术上的争论,还有沟通的中断。有人提到了去年提出的这个问题,当时讨论因非技术原因而结束,但Fastly高级总工程师、董事长林克拉克也声称“担心会破坏网络没有很好的依据”
assembly项目并没有完全抛弃WASI,“提供了与AssemblyScriptCompiler中包含的以前的WASI支持几乎相同的功能”。
返回搜狐,查看更多
责任编辑:
声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。
发布于:
河北省