內容來源:2017年3月19日,團隊貓創始人兼CEO王偉平在「OSC源創會深圳站」進行《XpmJS——小程序後端開發思考和實踐》演講分享。IT大咖說做爲獨家視頻合做方,經主辦方和講者審閱受權發佈。
閱讀字數:1759 | 4分鐘閱讀
Linux容器技術很早就有,LXC的容器方案也早2008年就已面世;但直到 2013年 Docker 推出,才讓容器技術紅遍全球。Docker 沒有高深底層技術,只是把 LXC「改」得更貼近應用場景,而且使用起來足夠簡單。本主題以 XpmJS 爲主要例子,分享 XpmJS 的設計理念,以及 XpmJS 是如何改進微信小程序雲端 API,幫助開發者提高小程序開發效率的。前端
嘉賓演講視頻地址:t.cn/R9MHlYFandroid
小程序在和雲端進行通訊的時候提供了wx.request、文件上傳下載和websocket這三類API。ios
wx.request向後端發送http的請求。web
提供了文件上傳下載的API。數據庫
微信還提供了一組websocket的API,能夠和後端websocket的服務器創建一個長連接進行雙向通訊。小程序
小程序只支持WSS和HTTPS的協議,在傳輸層用TLS進行了加密。後端
因此就須要購買TLS或SSL證書,配置web服務器。這對於前端工程師來講是很是麻煩的,無疑爲小程序開發增長了門檻。微信小程序
對於後端來講,須要搭建一個開發環境,實現session鑑權。而後要實現業務接口和管理後臺,這兩件事其實就是數據的增刪改查,有時偶爾會調用微信接口,這樣的重複勞動應該交給機器去作。服務器
不管是移動應用仍是小程序,用雲主要是須要有一個帳號管理系統,把對應的用戶信息保存起來。微信
另外一個比較大的需求就是數據存儲。把一些數據保存到雲端,在有多個終端的時候就能夠共享雲上的數據。
由於各大支付平臺須要在雲端交換數據,因此在雲端會有支付需求。
即時通訊主要是去實現聊天室的一些需求。
文件存儲就是要把一張圖片或一個文件存在雲端,並有一個能夠訪問的地址。
IaaS交付的產品是主機、網絡和磁盤。在作後端的時候除了要編譯後端代碼,還須要配置後端的運行環境、作中間件等等,因此後端的複雜度比較高。
PaaS會相對簡單一些。由於PaaS提供的是服務接口,作後端的時候只須要用咱們的程序把這些接口串起來,就基本能夠實現前面提到的那些功能了。
BaaS交付給開發者的是SDK+後臺。
雲計算有一個彈性伸縮的特性。IaaS是交由客戶負責,雲平臺只提供擴展的能力,至於何時擴展、如何擴展,則要客戶本身決定。
而PaaS和BaaS的彈性伸縮是由廠商負責,由於它們交付的是服務和後臺,開發者無需擔憂。
咱們認爲BaaS很是符合咱們的需求,由於不用寫後端程序,幾乎能夠減小一半的工做量。因而咱們調研了一系列國內外的BaaS平臺,發現Parse和Leancloud這兩家開發者支持作得比較好。
一、能夠掌控數據,最好沒有遷移成本。
二、不用作Web服務器配置之類和業務無關的事。
三、不用寫後端代碼,節省開發時間(成本)。
四、當即上手,不用學習一堆新東西。
咱們須要的是一個可獨立部署、開通即用的輕量BaaS平臺。
XpmJS可連接任何雲計算資源,爲小程序提供雲端支撐。開發者無需編寫後端代碼,便可實現用戶登陸、websocket通訊、微信支付、雲端數據表格、文件存儲等功能。
它包括了小程序SDK和後端服務器的程序XpmJS Server。
用戶登陸只須要user.login這一行代碼就能實現整個用戶的登陸和用戶健全的機制。同時還會提供對應的管理後臺,能夠在這個管理後臺裏看到全部新註冊、新登陸的用戶狀況,提供用戶信息的管理。
支付的SDK一樣也是經過pay.request這一行代碼把訂單信息寫入,就能夠呼出微信支付界面。每一條支付記錄都會在後端有對應界面能夠進行管理。
雲表格支持ACL鑑權、JSON字段以及join,inwhere等多種查詢。關係型數據庫的SDK能夠進行數據表增刪改查的操做。
信道功能主要是listen和send兩個方法。Listen能夠監聽一個指令,調用send發送指令,監聽指令裏的代碼就能夠運行。另外還提供了websocket後端調試的工具。
對於一些機密數據,好比API的Secret KEY,須要保存在雲端。這部分需求能夠經過編寫XpmJS雲端應用來實現。
XpmJSServer支持分佈式部署,經過修改配置文件便可添加多臺前端,提高後端服務能力。
XpmJSSDK增長了數據存儲、消息推送和視頻直播。
今年會提供JS的SDK和android/ios的SDK,除了小程序以外還會支持一些混合應用開發的工具。
在後端集成一個NoSQL的數據庫,新增消息推送和流媒體服務。另外會完善統計分析功能,提供XpmJS Server Hosting,推出一系列快速開發移動應用的培訓。
今天分享的就是這些,謝謝你們!詳細內容請看嘉賓視頻與PPT~