最近微信小程序有多火就不用再做介绍了。刚出来我浏览了下文档的时候
后来使用了一下感觉也不是很成熟,文档信息很少而且也不太准确。微信开发团队的步子还是迈得有点大,希望他们不要扯着蛋了。
现在介绍微信小程序的文章已经很多了,那 200 个拿到了 AppId 的开发者估计是签了什么协议,也没人出来说些什么,所以到底什么情况大多数人也不太清楚。
我最近试了试利用 Meteor 的 DDP 协议和 Meteor 一起使用,使用 Publication/Subscription 实现了 Reactive UI,也利用 Method 实现了客户端、服务器端通信。见下图,左边是微信小程序,右边是网页,操作两边都会在另一个终端上实现自动更新。
当然微信小程序也可以使用 HTTP 和 Meteor 交换数据,不过那就和其他框架没有什么区别了。
下面来介绍一下微信小程序通过 DDP 协议和 Meteor 交换数据。
Meteor App
这里我们以 这个 Meteor 的 React todo list 例子 来作为我们的 Meteor 后端。我已经把这个例子打包在下面的 demo repo 里,请 clone 后面的 demo 源代码并在启动微信小程序例子前运行这个例子。
Webpack 打包
需要把 DDP 的客户端 npm 包再打包,因为微信小程序没有 exports 和 module,不是完整支持 CommonJS,打包后微信小程序才可以使用。使用 webpack 打包 asteroid,一个 Meteor 的 DDP 协议包。如果对 webpack 不熟悉的可以参考 这篇文章。
我例子还打包了 underscore 包。
代码
我的例子源代码 在这里 - Github repo
现在很多人连 RN 都不敢用更别说这个微信小程序了。当然我掌握的信息有限,就看后面微信团队会不会发更大的招了,或者说小程序就是一个真正的小程序,最后还是以 webview 为主?
最后这一篇文章也不错 微信小程序开发三宗罪和解决方案.