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

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

阅读字数:1759 | 4分钟阅读

嘉宾演讲视频地址及PPT:http://suo.im/54gd8w

摘要

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

小程序与云计算

云端通信API

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

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

提供了文件上传下载的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这两家开发者支持做得比较好。

我们需要怎样的云服务?

1、可以掌控数据,最好没有迁移成本。

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

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

4、立即上手,不用学习一堆新东西。

我们需要的是一个可独立部署、开通即用的轻量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~

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,367评论 6 512
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,959评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,750评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,226评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,252评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,975评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,592评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,497评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,027评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,147评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,274评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,953评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,623评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,143评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,260评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,607评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,271评论 2 358

推荐阅读更多精彩内容

  • 在本文中我们将主要研究目前主要的BaaS平台的功能,以及Google,Facebook,Apple等互联网巨头在B...
    青霖2018阅读 4,029评论 2 8
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,225评论 25 707
  • 笨蛋,我又睡不着了。你说你又疼了,我好担心你!疼在你身痛在我心!此时的我好想找个理由守在你身边,为你倒一杯红糖水来...
    yzwjjx阅读 176评论 0 0
  • 人类凭借比其他生物高的智商,基本上是完全的按照方便自己的需求在改变着这个地球。钢筋混凝土的城市,何曾问过那一花一草...
    迷米古月阅读 259评论 0 0
  • 已经20天没回家,心里特惆怅,很愧疚。昨天回去,父母很欣喜。 不在父母身边,很多事情不自知。母亲腿脚不灵便,膝关节...
    茅岭君阅读 139评论 0 0