cs架构用什么语言开发_用Rust语言开发微信小程序

1d2cb67331ea0af1ef2d476263160b8b.png
由于stdweb已经好久没有更新了,本人又写了另外一篇:
JiaYe:用Rust语言开发微信小程序:wasm-bindgen​zhuanlan.zhihu.com

stdweb可以轻松将Rust代码编译为JavaScript和Webassembly字节码,本例中使用asmjs-unknown-emscripten作为编译目标。

stdweb​crates.io

首先要安装一些必要的工具:

1、Rust 程序设计语言

2、微信开发者工具:下载 · 小程序

3、Node.js (nodejs执行编译后修改js代码,如果手动修改可以不用)

4、(重要)微信小程序目前只有真机调试支持Webassembly,其他时候在手机运行是不支持wasm的,本人开发的两个小程序,都是使用asmjs-unknown-emscripten目标编译的,这就需要先安装配置emscripten,安装教程在此:

Main - Emscripten 1.38.21 documentation​kripken.github.io
6df755e4248b48ff5d9b2a5169a45085.png

rustup添加编译目标:

rustup 

创建小程序项目

d8a37632c230af48ca03b68c92b03147.png

编写Rust代码:

Cargo.toml

[package]
name = "testmini"
version = "0.1.0"
authors = ["planet0104 <planet0104@gmail.com>"][dependencies]
stdweb="*"

main.rs:

#[macro_use]

编写build脚本

replace.js:

var 

build.cmd:

cargo 

小程序中引用编译好的js文件

317c11409623b93076be1a623f8d0470.png

编译Rust代码:

c1526e356248349f4eacdfa6a255056f.png

文件编译完成自动复制到小程序文件夹,就可以看到运行结果了:

deb3a13a0436fd7040bb1376781767fc.png

这只是一个简单的Hello World。

将Rust编译成javascript,使得crates.io里的许多开源库都可在js中使用了。我用stdweb+gif开发了一个完整的GIF制作小程序《大头贴动画制作》,已经在微信小程序上线。源码:

planet0104/miniprogram-gifmaker​github.com
395e5e8337585be9d6052f83b6624375.png

有兴趣的可以扫描小程序码或二维码试玩:

e051a5f078a69af3874c1f7ee50599ce.png

https://mp.weixin.qq.com/a/~TP5_ekZs0RupWWYY5ytBGQ~~ (二维码自动识别)

2019-01-17更新:

我用Rust开发的另外一个小程序《识字画板》昨天上线了,其中主要的代码逻辑都是用Rust实现的,附上小程序码:

beb6afd5b363df725ee9b0a110177f8d.png
可以练字、写字的微信小程序,较孩子正确的汉子笔画。长按小程序码或微信扫一扫识别进入。欢迎使用!

识字画板小程序源码:

planet0104/miniprogram-write-teacher​github.com
395e5e8337585be9d6052f83b6624375.png

2019-02-15更新:

47c13e3690ad7455443c3f8c38e9defc.png
用Rust开发的第三个小程序《趣图换脸》已上线,其中人脸识别、颜色变化都用rust实现
https://github.com/planet0104/miniprogram-faceoff​github.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/433855.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

利用线性代数的方法求斐波那契数列的通项

由于word编辑的公式打出来全是黑的&#xff0c;所以只能贴图咯。下次换个编辑器。转载于:https://www.cnblogs.com/maplewizard/archive/2013/03/10/2952623.html

zookeeper 可视化_大厂,常用,四款,大屏可视化工具

小编最经常的工作是将一些项目的数据从数据库导出&#xff0c;然后分门别类的列到excel表格中&#xff0c;领导看起来眼花缭乱。小编想&#xff0c;要是能以图表可视化展现出来&#xff0c;领导就可以看到项目近几个月的走势&#xff0c;也知道之后要怎么决策了。小编尝试了使用…

shared_ptr智能指针源码剖析

前几天有个人问了我一个问题&#xff1a; 如何将一个智能指针作为函数的返回值传递出来。当时这个问题一下子把我问倒了&#xff0c;后来经人提醒有一个叫shared_ptr的智能指针可以解决这个问题。 将shared_ptr作为函数返回值的代码是这样的&#xff1a; 01#include <tr1…

计算机用户win7修改不,Win7电脑时间改不了的解决方法

在平时的工作中&#xff0c;我们经常会碰到一些问题&#xff0c;其中最常见的就是电脑时间改不了了。其实遇到这个问题很好解决的&#xff0c;但是很多用户都不太懂&#xff0c;为此小编赶紧整理了Win7电脑时间改不了的解决方法来帮助大家&#xff0c;大家赶紧看看吧&#xff0…

win7蓝屏0x000000f4修复_注意:关于近期多数电脑蓝屏的处理和预防方法

近期出现部分用户电脑因win7操作系统服役期结束&#xff0c;更新操作系统补丁导致系统蓝屏&#xff0c;错误代码0X000000F4的现象(如下图所示)&#xff1a;在此提醒&#xff0c;可尝试按照以下方法进行处理并设置。如果还没有出现蓝屏的客户&#xff0c;在系统开机时如出现如下…

用yum安装完mysql后没有mysqld的问题

在Centos中用命令 yum install mysql安装数据库&#xff0c;但装完后运行mysqld启动mysql的时候提示找不到&#xff0c;通过 find / | grep mysqld 也没找到mysqld的目录&#xff0c;后来在Google上搜索下&#xff0c;才知道用yum安装时候mysql也有三个参数的。 yum install my…

python中for和while可以有else_Python 中的for,if-else和while语句

for循环功能for 循环是一种迭代循环机制&#xff0c;迭代即重复相同的逻辑操作&#xff0c;每次的操作都是基于上一次的结果而进行的。并且for循环可以遍历任何序列的项目&#xff0c;如一个列表或者一个字符串语法for 循环的一般格式如下&#xff1a;for in 注释&#xff1a;v…

am335x修改sd卡cd管脚

任务&#xff1a;修改SD卡CD管脚&#xff0c;CD管脚是用来给系统通知SD卡的插入与拔出消息的&#xff0c;tq3358默认用的是 spi0_cs1(GPIO0_6)&#xff0c;现在要改为GPIO1_16 1. 查看原理图核心板原理图 MMC0的SDCD接的是GPIO0_6。 2. 查看 arch\arm\mach-omap2\mux33…

未来计算机论文1500,致未来的自己作文1500字

最了解自己的自己&#xff1a;展信乐&#xff01;此信寄予你&#xff0c;许只是无处发泄无聊的情绪吧&#xff0c;你若收到&#xff0c;必然会懂。不知时隔三年&#xff0c;你是否还能记得&#xff0c;那个多少还有些单纯的我&#xff1f;在过去的三年里&#xff0c;那个冒冒失…

sql server数据库还原方法

把数据库的备份文件放到服务器的任意目录下先&#xff0c; 然后按下面的步骤做。 如何从备份设备还原备份&#xff08;企业管理器&#xff09; 从备份设备还原备份 展开服务器组&#xff0c;然后展开服务器。 展开"数据库"文件夹&#xff0c;右击数据库&#xff0c;指…

cad插件_抖音最火CAD插件教程汇总

左下角阅读原文看CAD视频好课推荐&#xff1a;1、CAD2014&#xff1a;点击查看 2、室内CAD&#xff1a;点击查看 3、CAD2019&#xff1a;点击查看4、CAD2018&#xff1a;点击查看5、Bim教程&#xff1a;点击查看6、室内手绘&#xff1a;点击查看7、CAD三维&#xff1a;点击查看…

在内存中建立文件_磁盘与文件,搞懂它

说一说计算机中的非常重要的两个东西磁盘和文件。搞清楚这两个东西有利于我们理解高级语言中关于I/O流操作的设计。它就像一把大杀器一样&#xff0c;无往而不利。想一想&#xff0c;磁盘作为一个电脑中的硬件设备&#xff0c;操作系统是如何管理磁盘设备的&#xff1f;文件其实…

libxml2交叉编译问题及解决办法

libxml2安装中出现的错误:cannot remove libtoolT: No such file or directory解决方法: 修改configure文件 $ vim configure删除这一行: $RM "$cfgfile" 重新再运行 $ ./configure # ./configure --hostarm-linux --buildi386-linux --targetarm --prefix/u…

win7 dos窗口输入命令必须加后缀问题,例如 java必须输java.exe

1、描述&#xff1a; 当java的环境变量设置正确后依然无法java &#xff0c;只有添加java.exe后方可运行问题 2、位置&#xff1a;win 环境变量中的pathtext 3、解决方案&#xff1a;恢复默认的值即可(或google参考别人的)转载于:https://www.cnblogs.com/ki-tom/archive/2013/…

平板电脑应用_什么是机房巡检AI机器人?工业平板电脑的应用如何体现

机房巡检AI机器人&#xff0c;顾名思义&#xff0c;它的主要工作是在机房里做巡逻检查&#xff0c;是巡检机器人类别下的一个型号&#xff0c;类似的还有电站巡检AI机器人&#xff0c;铁路巡检AI机器人等&#xff0c;总之&#xff0c;它们的设计研发就是为了某个特定的工作环境…

东北师范大学计算机科学与技术录取分数线,东北师范大学计算机科学与技术专业2015年在河南理科高考录取最低分数线...

类似问题答案东北师范大学计算机类专业2016年在河南理科高考录取最低分数线学校 地 区 专业 年份 批次 类型 分数 东北师范大学 河南 计算机类 2016 一批 理科 557 东北师范大学 河南 计算机类 2016 一批 理科 557 学校 地 区 专业 年份 批次 类型 分数 东北师范大学 河南 计算…

二叉树的深度_十七:二叉树的最小深度

二叉树的最小深度&#xff1a;从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径&#xff0c;最短路径的长度为树的最小深度。算法一/** * description 二叉树最小深度 * param {*} root 二叉树 */function binaryTreeMinDepth(root) { // 节点不存在时返回长度…

reactor设计模式 1

Reactor这个词译成汉语还真没有什么合适的&#xff0c;很多地方叫反应器模式&#xff0c;但更多好像就直接叫reactor模式了&#xff0c;其实我觉着叫应答者模式更好理解一些。通过了解&#xff0c;这个模式更像一个侍卫&#xff0c;一直在等待你的召唤&#xff0c;或者叫召唤兽…

LinkedBlockingQueue应用实例

并发库中的BlockingQueue是一个比较好玩的类&#xff0c;顾名思义&#xff0c;就是阻塞队列。该类主要提供了两个方法put()和take()&#xff0c;前者将一个对象放到队列中&#xff0c;如果队列已经满了&#xff0c;就等待直到有空闲节点&#xff1b;后者从head取一个对象&#…

苹果怎么付费购买内存_【苹果手机多长时间清理一次内存,怎么清理?】

一、微信缓存微信作为每天使用频率最多的软件&#xff0c;是需要重点清理的对象。操作&#xff1a;我—设置—通用—清理微信存储空间—查看微信存储空间&#xff0c;选择联系人进行清理。二、短信现在很少有人会用短信联系&#xff0c;一般都是一些垃圾广告&#xff0c;我们可…