之前對於 Firebase 的時互動性有很強烈的應用想法, 主要是像類似線上聊天室的應用需求, 可以透過線上指令直接做控制客戶端的介面與功能操作, 接下來就想找一些類似的平台來做這件事.
其實背後應該都是走 socket.io 才能有這麼好的即時性與效果, 再加上同步性的資料庫, 哪個是最方便適合的呢? 有一些討論在這裡:
https://www.quora.com/Whats-the-closest-open-source-alternative-to-Firebase
接下來來看看這個好用的 deployd 服務, 他組合了 node.js / socket.io / mongodb 服務, 將這樣一個像 Firebase 的功能實作出來了, 並且也有很強大的管理介面功應用, 把資料庫操作, 即時性, 資料驗證與事件整理的十分簡捷方便, 要快速的建立出一組即時同步資料庫, 似乎就是這些最快了, 來看看他的影片介紹, 相信很快就能上手:
https://www.youtube.com/watch?v=I_Jq1BVj6D0
(影片引用自: https://www.youtube.com/watch?v=I_Jq1BVj6D0)
另外, 下面還有許多案例可供參考應用, 即時互動功能, 隨時建立, 隨時開發, 十分方便.
http://docs.deployd.com/examples/
以下為建立測試環境的方式:
- windows, 直接下載安裝包: https://bintray.com/artifact/download/deployd/dpd-win-installer/deployd-win-0.8.0.exe
- mac / 其他 linux 環境: https://github.com/deployd/deployd#install-from-npm 從 npm 開始
下面將要說明一個從頭開始的方式:
1. 準備一台主機, 這裡以 CentOS 為例, 可以利用 digital ocean 建立一台主機, 若還沒有帳號, 可以從這裡取得: https://diary.tw/archives/1434
2. 建立完成後, 開始安裝 nodejs 與 npm, 指令如下: (其中 epel-release 是為了安裝 nodejs的前置作業, 將 epel-release 資料庫安裝進來)
yum install epel-release
yum install nodejs
yum install npm
3. 接下來安裝 mongodb-server :
yum install mongodb-server
4. 最後安裝 deployd (使用 npm 安裝即可)
npm install deployd -g
5. 起動 mongodb-server
service mongod start
若希望之後重新開機也可以啟動, 可以再下:
chkconfig mongod on
接下來建立一個 deployd 應用程式專案,
cd /home
mkdir dev
cd dev
dpd create hello
cd hello
dpd
就建立完成一個空的專案了, 訪問: http://[ip]:2403/dashboard 即可順利看到已啟動的專案.