XpmJS —— 小程序后端开发思考和实践


内容来源:2017年3月19日,团队猫创始人兼CEO王伟平在“OSC源创会深圳站”进行《XpmJS——小程序后端开发思考和实践》演讲分享。IT大咖说做为独家视频合做方,经主办方和讲者审阅受权发布。
阅读字数:1759 | 4分钟阅读


摘要

Linux容器技术很早就有,LXC的容器方案也早2008年就已面世;但直到 2013年 Docker 推出,才让容器技术红遍全球。Docker 没有高深底层技术,只是把 LXC“改”得更贴近应用场景,而且使用起来足够简单。本主题以 XpmJS 为主要例子,分享 XpmJS 的设计理念,以及 XpmJS 是如何改进微信小程序云端 API,帮助开发者提高小程序开发效率的。前端

嘉宾演讲视频地址:t.cn/R9MHlYFandroid

小程序与云计算

云端通讯API

小程序在和云端进行通讯的时候提供了wx.request、文件上传下载和websocket这三类API。ios

wx.request向后端发送http的请求。web

提供了文件上传下载的API。数据库

微信还提供了一组websocket的API,能够和后端websocket的服务器创建一个长连接进行双向通讯。小程序

WSS&HTTPS

小程序只支持WSS和HTTPS的协议,在传输层用TLS进行了加密。后端

因此就须要购买TLS或SSL证书,配置web服务器。这对于前端工程师来讲是很是麻烦的,无疑为小程序开发增长了门槛。微信小程序

后端开发工做

对于后端来讲,须要搭建一个开发环境,实现session鉴权。而后要实现业务接口和管理后台,这两件事其实就是数据的增删改查,有时偶尔会调用微信接口,这样的重复劳动应该交给机器去作。服务器

云计算的“进化”

云的做用

不管是移动应用仍是小程序,用云主要是须要有一个帐号管理系统,把对应的用户信息保存起来。微信

另外一个比较大的需求就是数据存储。把一些数据保存到云端,在有多个终端的时候就能够共享云上的数据。

由于各大支付平台须要在云端交换数据,因此在云端会有支付需求。

即时通讯主要是去实现聊天室的一些需求。

文件存储就是要把一张图片或一个文件存在云端,并有一个能够访问的地址。

从IaaS到BaaS

IaaS交付的产品是主机、网络和磁盘。在作后端的时候除了要编译后端代码,还须要配置后端的运行环境、作中间件等等,因此后端的复杂度比较高。

PaaS会相对简单一些。由于PaaS提供的是服务接口,作后端的时候只须要用咱们的程序把这些接口串起来,就基本能够实现前面提到的那些功能了。

BaaS交付给开发者的是SDK+后台。

云计算有一个弹性伸缩的特性。IaaS是交由客户负责,云平台只提供扩展的能力,至于何时扩展、如何扩展,则要客户本身决定。

而PaaS和BaaS的弹性伸缩是由厂商负责,由于它们交付的是服务和后台,开发者无需担忧。

国内外的BaaS平台

咱们认为BaaS很是符合咱们的需求,由于不用写后端程序,几乎能够减小一半的工做量。因而咱们调研了一系列国内外的BaaS平台,发现Parse和Leancloud这两家开发者支持作得比较好。

咱们须要怎样的云服务?

一、能够掌控数据,最好没有迁移成本。

二、不用作Web服务器配置之类和业务无关的事。

三、不用写后端代码,节省开发时间(成本)。

四、当即上手,不用学习一堆新东西。

咱们须要的是一个可独立部署、开通即用的轻量BaaS平台。

搭建“云桥”

XpmJS

XpmJS可连接任何云计算资源,为小程序提供云端支撑。开发者无需编写后端代码,便可实现用户登陆、websocket通讯、微信支付、云端数据表格、文件存储等功能。

它包括了小程序SDK和后端服务器的程序XpmJS Server。

小程序SDK丨用户

用户登陆只须要user.login这一行代码就能实现整个用户的登陆和用户健全的机制。同时还会提供对应的管理后台,能够在这个管理后台里看到全部新注册、新登陆的用户状况,提供用户信息的管理。

小程序SDK丨支付

支付的SDK一样也是经过pay.request这一行代码把订单信息写入,就能够呼出微信支付界面。每一条支付记录都会在后端有对应界面能够进行管理。

小程序SDK丨云表格

云表格支持ACL鉴权、JSON字段以及join,inwhere等多种查询。关系型数据库的SDK能够进行数据表增删改查的操做。

小程序SDK丨信道

信道功能主要是listen和send两个方法。Listen能够监听一个指令,调用send发送指令,监听指令里的代码就能够运行。另外还提供了websocket后端调试的工具。


XpmJS Server丨自由扩展

对于一些机密数据,好比API的Secret KEY,须要保存在云端。这部分需求能够经过编写XpmJS云端应用来实现。

XpmJS Server丨支持分布式部署

XpmJSServer支持分布式部署,经过修改配置文件便可添加多台前端,提高后端服务能力。

XpmJS RoadMap

XpmJS SDK

XpmJSSDK增长了数据存储、消息推送和视频直播。

今年会提供JS的SDK和android/ios的SDK,除了小程序以外还会支持一些混合应用开发的工具。

XpmJS Server

在后端集成一个NoSQL的数据库,新增消息推送和流媒体服务。另外会完善统计分析功能,提供XpmJS Server Hosting,推出一系列快速开发移动应用的培训。

今天分享的就是这些,谢谢你们!详细内容请看嘉宾视频与PPT~

相关文章
相关标签/搜索