WebAssembly生态再添劲旅 不断壮大

又一开发工具加入WebAssembly生态系统了,老牌跨平台开发框架Qt的官方表示,Qt将在5.11.0版本发布时开始支持将程序代码编译为WebAssembly,不过现阶段仍然是技术预览版,希望社区能多反馈意见。

Qt研发部图形和多媒体团队经理Eskil Abrahamsen Blomfeldt在博客发文表示,WebAssembly由于是二进制的格式,可以将应用程序快速的部署到有支持Web浏览器的设备上。

这个特性让WebAssembly不需要任何安装过程,并能在浏览器的沙盒中安全执行,Eskil Abrahamsen Blomfeldt认为,这个适用于不需要访问完整设备功能的应用程序,且提供用户快速简单的使用体验。

在Qt 5.11.0发布时,用户就能开始通过Qt将C++程序代码编译成WebAssembly,并且直接在浏览器中执行Qt应用程序,但目前仅支持客户端的应用。官方文件提到,由于现在仍在技术预览版,还有许多已知问题尚未解决,包括现在无法将Windows作为主机平台,但可以使用适用于Linux的Windows子系统。

另外,Qt Quick目使用软件后端,这会对较复杂的UI性能产生影响,并且也禁止使用着色器,但这项问题会很快的被解决。而目前在WebAssembly中不支持线程,如果在程序代码中使用线程,将会使编译出来的WebAssembly模块发生无法意料的结果。

虽然Mozilla已有工具Emscripten能将C++编译为WebAssembly,但是由于Qt为不少人爱用的知名跨平台开发框架,因此开始支持WebAssembly也势必能将更多开发者带入这个生态系统。