话说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 错误?我们需要知道任何细节吗?

快照

【问题讨论】:

您是否尝试手动设置emccem++ 的路径? 查看我的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的事吗的主要内容,如果未能解决你的问题,请参考以下文章

2023 年 WebAssembly 前景预测

破圈!不止于浏览器,WebAssembly 2020 大事记

利用Golang玩转WebAssembly

不只是Web,WebAssembly在区块链上还有这些用处

龙蜥 Node.js/WebAssembly SIG 重磅发布 Node.js/Noslate 性能优化白皮书

对话快手苍鹏:播放器还有什么新玩法?