實時數據庫框架:End.js

jopen 11年前發布 | 15K 次閱讀 數據庫 NoSQL數據庫

第一次看到Firebase就被它所吸引,此后嘗試使用它開發了一個chrome聊天插件,開發過程中,Firebase極大的提高了開發效率。由于對Firebase的強烈興趣,所以畢設選擇做一個類似的東西,便是End.js

Firebase幾個優點:

  1. 云服務,隨時擴展,高性能,無需部署管理自己的服務器,數據庫,大大減少工作量
  2. api簡單,使用起來非常的方便,可大大減少代碼量
  3. 可通過網頁對數據進行管理,很方便

Firebase幾個缺點

  1. 數據結構和數據庫存儲方式不一致(由于想支持REST方式讀取數據)
  2. 不能部署自己的數據庫(很多項目都需要自己維護數據庫的)
  3. 目前數據操作能力教弱(有很多需求(稍微復雜點的查詢)目前Firebase很難支持)
  4. 數據分析功能很弱,只能查看流量和當前在線人數(獨立數據庫的話,這部分很容易做的更強大)
  5. 不支持離線開發(廢話。。)
    總結一下就是Firebase弱化了數據庫的存在,看起來很酷,但是現實情況下出于安全、數據分析等考慮,自己維護數據庫才是更合適的。

為什么使用End

  1. 如果想部署一個自己的Firebase,可以考慮使用End
  2. 增強了數據庫操作能力
  3. 盡量和Firebase api設計一致
  4. 很方便的和其他Node Package結合使用

客戶端使用:

var chat = new End('chat','http://localhost:8080'),
    chatRoom = chat.child(window.location.search.split('?')[1]),
    chatMsgs = chatRoom.child('msgs');
chatMsgs.on('child_added',function(msg){
    $('.msgs').append('<div class="msg">'+msg.value.name+' : '+msg.value.text+'</div>');
});
$('#btn_send').click(function(){
    var name = $('.txt_send_name').val();
    var text = $('.txt_send_text').val();
    chatMsgs.push({name:name,text:text});
});

項目主頁:http://www.baiduhome.net/lib/view/home/1365986754890

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!