当前位置: 首页 > news >正文

万字带你深度了解MQ消息队列

蹲耸涎奶一、运行效果

??演示使用C#写的LiveCharts,点击按钮动态生成一些数据。

1. Android真机运行

2. 模拟器运行

二、实现原理

??原理比较简单,如下图所示,将C#写的PixUI应用及C++写的Skia引擎编译为WebAssembly,然后通过微信小程序的WXWebAssembly加载,并在canvas(WebGL)通过skia绘制出用户界面,监听微信小程序的事件传给C#处理后重新绘制界面。

三、开发步骤

1. 创建wasmconsole项目

创建项目前请确认已经通过dotnet workload install安装wasm-experimental及wasm-tools

dotnet new wasmconsole

2. 参考PixUI.Demo.Wasm.proj修改工程文件

3. 使用PixUI开发用户界面

4. 编译并分包

因微信小程序包大小限制问题,使用PixUI.WxmpPkgs工具自动拆分生成pkgs目录

5. 将如图所示的目录及文件复制进PixUI.Demo.Wxmp/miniprogram/dotnet目录内

6. 修改dotnet.native.js

因微信小程序的兼容问题,以及改动了dotnet的引导代码暂需要手动修改emcc编译生成的js。

替换所有import.meta.url为globalThis.bootUrl;

搜索receiveInstace,将function receiveInstance(instance,module){wasmExports=instance.exports;替换为function receiveInstance(instance,module){wasmExports=instance.instance.exports;

7. 用Wechat Devtools打开PixUI.Demo.Wxmp工程即可运行

四、优势与劣势

优势

代码复用:前后端可以统一开发语言,;

动态加载:可以远程加载C#写的PixUI组件;

劣势

包太大: 因打包了dotnet的mono运行时及skia引擎,目前不包含中文字体总的包大小差不多8.8MB,小程序首次加载根据网络情况会稍慢。

五、IOS真机问题

目前IOS真机上运行还有些问题,先在此记录。

1. WebAssembly不支持Exception Handling

WXWebAssembly加载时会报invalid wasm file错误, 暂编译不支持的版本绕过此问题。

2. JSC引擎的Function.length始终返回0

可以通过修改dotnet.runtime.js来绕过此问题, 搜索argument count mismatch for cwrap,将

if(o&&n&&o.length!==n.length&&(Pe(`argument count mismatch for cwrap ${e}`),o=void 0),"function"!=typeof o&&(o=Xe.cwrap(e,t,n,r))

替换为

if("function"!=typeof o&&(o=Xe.cwrap(e,t,n,r))

3. Jiterpreter造成微信闪退

暂通过修改dotnet.runtime.js来绕过此问题,搜索.tableSize,将

function(){if(ds)return;ds=!0;const e=ps(),t=e.tableSize,n=ot.emscriptenBuildOptions.runAOTCompilation?e.tableSize:1,

替换为

function(){return;if(ds)return;ds=!0;const e=ps(),t=e.tableSize,n=ot.emscriptenBuildOptions.runAOTCompilation?e.tableSize:1,

4. 报compiling function underran the stack错误,暂无解。请哪位熟悉WebAssembly的大神指点一下。

http://www.jsqmd.com/news/440375/

相关文章:

  • 知网降AI率:人工改写和嘎嘎降AI效果对比,差距不是一般大 - 还在做实验的师兄
  • 2026年 槽钢厂家推荐排行榜,镀锌槽钢/S355J0/AH36/Q355B/10#/S275/Q420/英标/欧标/日标槽钢,实力源头工厂精准供应 - 品牌企业推荐师(官方)
  • 医美机构想做AI精准获客,推荐几家擅长医美行业的AI推广公司 - 品牌2026
  • 机械制造企业AI获客指南:2026年垂直领域GEO服务商深度测评 - 品牌2026
  • tt: is ウクライナ unique for ロシャ?
  • 毕业论文被导师打回说AI率过高?3步搞定不用愁 - 还在做实验的师兄
  • 【开题答辩全过程】以 淮胜景区信息管理系统为例,包含答辩的问题和答案
  • 2026年AI智能营销推广服务商精选:五家北京企业深度解析 - 品牌2026
  • 2026年AI推广优化服务商综合实力解析:五家北京企业选型指南 - 品牌2026
  • 千问、豆包深度测评:NAD+、NMN前十品牌哪家强?盼生派NMN凭活性吸收稳坐榜首 - 速递信息
  • 记一次酣畅淋漓的js逆向
  • 2026年钢轨厂家实力推荐榜:P43铁路钢轨、外标钢轨、天车U型钢轨、单轨吊型轨、永洋/70MN/50MN轨道钢轨源头精选 - 品牌企业推荐师(官方)
  • 答辩前论文AI率突然飙高?过来人教你紧急处理 - 还在做实验的师兄
  • [python]基于动态实例的命令处理设计
  • Note - 决策单调性
  • 深度模糊多视图学习:FUML, 提升多视图分类的准确性与可靠性阅读笔记.19674907
  • 用DeepSeek写的论文怎么降AI率?最全攻略来了 - 还在做实验的师兄
  • LangChain框架入门:输出解析器使用技巧
  • 知网、万方、维普都能用的降AI工具推荐:一个工具搞定三大平台 - 还在做实验的师兄
  • 深度模糊多视图学习:FUML, 提升多视图分类的准确性与可靠性阅读笔记
  • 手动降AI和工具降AI到底哪个好?花了3天亲自对比 - 还在做实验的师兄
  • 若干贪心总结
  • 一文搞懂synchronized实现原理
  • Flutter 三方库 drivers_license_parser 的鸿蒙化适配指南 - 掌控 AAMVA 驾照精密解析、身份认证实战、鸿蒙级精密识别专家
  • 2026年 不锈钢管厂家推荐排行榜,304/316L/2205等不锈钢无缝管、卫生级不锈钢管,实力品牌深度解析与选购指南 - 品牌企业推荐师(官方)
  • 2026年高校论文AI率要求越来越严:政策解读与应对方案 - 还在做实验的师兄
  • 为什么你的论文AI率怎么都降不下来?深度分析3个原因 - 还在做实验的师兄
  • Flutter 三方库 jenny 的鸿蒙化适配指南 - 掌控 Yarn Spinner 剧情分支、互动脚本实战、鸿蒙级精密叙事专家
  • 645645
  • 软件: Keil esp固件烧写软件 华为云服务器(个人免费使用,每天消息上限) 二、调试过程 调试总体思路: 烧写官方的MQTT固 ...