话说WebAssembly流行了,桌面开发还有.NET和Java的事吗
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了话说WebAssembly流行了,桌面开发还有.NET和Java的事吗相关的知识,希望对你有一定的参考价值。
java是sun搞的(现在被oracle收购)了 这个知道吧.net就是微软搞的一套。
web开始就是搞B/S结构开发,就是浏览器访问的,不是装客户端的那种(C/S结构)。
java和 .net都能搞web开发。不过完全不一样 ,src编译方式,部署方式也不尽相同。 参考技术A WebAssembly 短期内还不能取代桌面开发
- WebAssembly是传统浏览器插件的妥协结果。覆盖率最广的flash自己作死,因为性能和安全问题被apple拿下,其它的activeX/silverlight/javaApplet/ 又因浏览器或其它限制做不到全平台覆盖。那就用html5吧,但html5+js的性能又不行,那么大家就坐下来商量一个通用二进制插件,WebAssembly就横空出现了。
- WebAssembly现在限制还有很多,如不能用线程、体积大小。和html5一样,WebAssembly标准也会有一个耗时持久的扯皮过程。此外,WebAssembly 还有安全限制,它是运行在浏览器沙箱中的。
- 故现阶段 WebAssembly 还不能完全取代桌面程序,它可以做些依赖网络的应用(如视频播放、游戏、小型应用),不适合做操作系统相关的、操作硬件、并发线程的、体积庞大的类似的应用。
将 QT WebAssembly 与 Emscripten 关联
【中文标题】将 QT WebAssembly 与 Emscripten 关联【英文标题】:Associate QT WebAssembly with Emscripten 【发布时间】:2020-06-25 20:44:43 【问题描述】:我们用 Python 语言用 Qt 开发了一个桌面应用程序。我们希望将桌面版转换为网页版。
对于 Qt 5.13 或更高版本,有一个名为 WebAssembly 的插件,它使用 Emscripten 进行代码翻译。
问题
我们已经安装了 Qt 5.13 和 Qt 5.14,Web Assembly,但是我们无法让 Qt 识别 Emscripten。要么它不识别 Emscripten,要么,如果你识别它,你不理解 Emscripten 目录。
我们是否安装了 Emscripten 错误?我们需要知道任何细节吗?
快照
【问题讨论】:
您是否尝试手动设置emcc
和em++
的路径?
查看我的comment 类似的问题。它可能会有所帮助
【参考方案1】:
Qt for WebAssembly 是为 C++ 而不是 Qt for python,即使 python 可以在 WebAssembly 上运行,python 库很可能永远不会被移植到 WebAssembly,因为这是一个相当大的技术挑战,也是因为 Qt wasm 应用程序是静态链接的,这给 python 库带来了很大的问题。如果您的应用严重依赖 QML,您应该能够在浏览器中移植和运行您的应用。如果您想进行一些快速测试,您可以使用 Felgo WebAssembly 工具,例如 Web 编辑器 https://felgo.com/web-editor 或成熟的 Web IDE https://ide.felgo.com
【讨论】:
【参考方案2】:您必须在运行 QtCreator 之前运行:source /path/to/emsdk/emsdk_env.sh
,但如果有意义的话,请在相同的上下文中运行。
以下是如何解决此问题的示例
在您的 HOME 文件夹中创建文件em-qtcreator.sh
并执行以下操作:
#!/bin/bash
源 /path/to/emsdk/emsdk_env.sh
/path/to/qtcreator
现在,只需使用执行该脚本
chmod +x em-qtcreator.sh
./em-qtcreator.sh
这应该允许 QtCreator 自动检测 emscripten,否则您必须在构建配置中手动添加 emcc 编译器
【讨论】:
以上是关于话说WebAssembly流行了,桌面开发还有.NET和Java的事吗的主要内容,如果未能解决你的问题,请参考以下文章
破圈!不止于浏览器,WebAssembly 2020 大事记