開始deepstreamhub是容易的,只需不到十分鐘只盹。但是闯第,如果您有任何問題,請查看https://deepstreamhub.com/contact/
本指南將通過deepstreamhub的三個核心概念:記錄鲫骗、事件和RPC。
我們只使用JavaScript客戶端SDK和一點jQuery踩晶。
創(chuàng)建一個免費帳戶并獲取API密鑰或下載deepstream開源
連接到deepstreamhub登錄
包括JS -客戶端庫
<script src="http://cdnjs.cloudflare.com/ajax/libs/deepstream.io-client-js/2.1.1/deepstream.js"><script>
得到應(yīng)用程序URL從您的儀表板和建立和deepstreamhub連接
var ds=deepstream('<YOUR APP URL>');
并登錄(我們沒有配置任何身份驗證执泰,因此沒有憑據(jù))
ds.login();
記錄(實時數(shù)據(jù)庫)
記錄是deepstreamhub的實時數(shù)據(jù)存儲文件。記錄由唯一ID標識渡蜻,并且可以包含任何類型的JSON數(shù)據(jù)术吝〖萍茫客戶機和后端進程可以創(chuàng)建、讀取排苍、寫入沦寂、更新和觀察整個記錄以及其中的路徑。所有連接的用戶之間立即發(fā)生任何更改淘衙。記錄可以在列表和集合中進行排列传藏,并且可以包含對其他記錄的引用,從而允許對關(guān)系數(shù)據(jù)結(jié)構(gòu)進行建模彤守。您可以在記錄教程中學(xué)習(xí)有關(guān)記錄的更多信息毯侦。
創(chuàng)建一個新記錄或檢索一個已存在的記錄同樣的方法。
var myRecord=ds.record.getRecord('test/johndoe');
值可以使用set()方法存儲
myRecord.set({firstname:'John',lastname:'Doe'});
讓我們建立雙向綁定的輸入場時具垫,在我們的記錄路徑侈离,例如名字的變化我們要更新的輸入。每當(dāng)用戶鍵入時做修,我們都希望更新記錄霍狰。
var input=$('#firstname-input');
// Update the input when the record changes
myRecord.subscribe('firstname',function(firstname{
input.val(firstname);
});
// Update the record when the input changes
input.on('keyup',function(){
myRecord.set('firstname',input.val())
;});
事件(發(fā)布訂閱)
事件deepstreamhub的發(fā)布訂閱機制∈渭埃客戶機和后端進程可以訂閱事件名(有時也稱為“主題”或“通道”),并接收其他端點發(fā)布的消息康震。事件是非持久性的一次性消息燎含。對于持久數(shù)據(jù),請使用記錄腿短。
客戶端和后端進程可以使用.subscribe()
ds.event.subscribe('test-event',function(eventData){/*do stuff*/});
并使用.emit()發(fā)布事件
ds.event.emit('test-event',{some:'data'});
RPC(請求-響應(yīng))
遠程過程調(diào)用deepstreamhub的請求響應(yīng)機制屏箍。客戶機和后端進程可以注冊為給定RPC的“提供者”橘忱,由唯一名稱標識赴魁。其他端點可以請求所述RPC。deepstreamhub將請求路由到合適的供應(yīng)商钝诚,對于相同的RPC之間的多個供應(yīng)商的負載平衡颖御,并處理數(shù)據(jù)的序列化和傳輸。
你可以使用make()請求凝颇。
ds.rpc.make('multiply-numbers',{a:6,b:7},function(err,result){
//result === 42
});
使用provide()回答
ds.rpc.provide('multiply-numbers',function(data,response){
resp.send(data.a*data.b);
});
下一步要去哪里潘拱?
學(xué)習(xí)如何結(jié)合angular和react,Vue或其他前端框架使用deepstreamhub拧略。學(xué)習(xí)如何通過Nodejs使用JavaScript SDK而不是通過一個瀏覽器芦岂,開始使用Nodejs教程。