微信小程序 SDK 刚刚出来,就已经有一堆入门教程了。然而并没有关于如何在微信小程序中进行网络通讯的教程,所以我们今天就来讲一下新鲜出炉的独门绝技——hprose 如何在微信小程序中实现通讯。
什么是hprose?Hprose (High Performance Remote Object Service Engine) 是一个MIT开源许可的新型轻量级跨语言跨平台的面向对象的高性能远程动态通讯中间件。它支持众多语言,例如nodeJs, C++, .NET, Java, Delphi, Objective-C, ActionScript, JavaScript, ASP, PHP, Python, Ruby, Perl, Golang 等语言,通过 Hprose 可以在这些语言之间实现方便且高效的互通。Hprose 既支持同步调用,也支持异步调用。其同步调用方式与调用本地方法的形式几乎完全一致。异步调用方式采用回调形式来处理结果,用法相当简单直观。其用法与其它远程调用技术相比,既容易掌握,也容易使用。
首先下载微信小程序开发工具,之后安装。
然后按照网上那一堆微信小程序 Hello World 教程创建一个小程序。
接下来我们下载 hprose-html5 或者 hprose-js。推荐使用 hprose-html5 版本,这个版本更小,支持二进制数据传输,而且更快。
可以用 git clone 下载,也可以只下载 dist 目录下的文件,以 hprose-html5 版本为例:
hprose-html5.src.js 是源码版本 hprose-html5.js 是压缩版本
这两个版本都可以用。调试阶段建议用源码版本。但不要使用 hprose-html5.min.js 版本,这个版本是压缩版本的,不支持在微信小程序中编译。
之后,你可以把它们复制到你创建的那个微信小程序的 utils 目录下(复制其中一个就可以),然后将它改名为 hprose.js(这一步可选,只为后面引用的时候,名称统一)。
接下来,打开 pages/index/index.js 文件。
在开头加上:
var hprose = require(\'../../utils/hprose.js\');
然后在 onLoad 事件中加入以下代码:
varclient = hprose.Client.create(http://www.hprose.com/example/, [hello]);client.hello(world,function(result){console.log(result);});
总体看上去是这样的:
//index.js
var hprose = require(\'../../utils/hprose.js\');
//获取应用实例var app = getApp()
Page({
data: {
motto: \'Hello World\',
userInfo: {}
},
//事件处理函数
bindViewTap: function() {
wx.navigateTo({
url: \'../logs/logs\'
})
},
onLoad: function () {
console.log(\'onLoad\')
var client = hprose.Client.create(http://www.hprose.com/example/, [hello]);
client.hello(world, function(result) {
console.log(result);
});
var that = this
//调用应用实例的方法获取全局数据
app.getUserInfo(function(userInfo){
//更新数据
that.setData({
userInfo:userInfo
})
})
}
})
然后点编译,运行,如果你的网络没有问题的,你会在调试控制台中看到:
这里写图片描述
好了,就这么简单,接下来,你就可以用 hprose 来做微信小程序开发了。
18396519871
1