XpmJS —— 小程式後端開發思考和實踐

IT大咖說發表於2017-08-01

XpmJS —— 小程式後端開發思考和實踐

內容來源:2017年3月19日,團隊貓創始人兼CEO王偉平在“OSC源創會深圳站”進行《XpmJS——小程式後端開發思考和實踐》演講分享。IT大咖說作為獨家視訊合作方,經主辦方和講者審閱授權釋出。
閱讀字數:1759 | 4分鐘閱讀

XpmJS —— 小程式後端開發思考和實踐

摘要

Linux容器技術很早就有,LXC的容器方案也早2008年就已面世;但直到 2013年 Docker 推出,才讓容器技術紅遍全球。Docker 沒有高深底層技術,只是把 LXC“改”得更貼近應用場景,並且使用起來足夠簡單。本主題以 XpmJS 為主要例子,分享 XpmJS 的設計理念,以及 XpmJS 是如何改進微信小程式雲端 API,幫助開發者提升小程式開發效率的。

嘉賓演講視訊地址:t.cn/R9MHlYF

小程式與雲端計算

雲端通訊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 —— 小程式後端開發思考和實踐

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~

XpmJS —— 小程式後端開發思考和實踐


相關文章