[心得] Firebase 實作 聊天地圖 - LiveMaps

看板Soft_Job作者 (Windows)時間9年前 (2016/10/17 10:12), 編輯推噓28(28010)
留言38則, 35人參與, 最新討論串1/1
Hi 各位大大們早安! 今天來分享一個使用 WebSocket 的應用作品,這主要是架構在 Firebase 的應用! DEMO:https://livemaps.ioa.tw/ LiveMaps 是一個即時地圖聊天室,讓你在世界上任何位置都可以發出自己的感想動態 這也是一個純前端技術的網站 仰賴 Firebase 的 Realtime 的特性,並且用於 Google Maps 上 讓使用者的定位可以即時分享,同時間也可以發佈動態! 現階段只是初樣的 Prototype 之後會加入 個人聊天室、上傳照片、Mobile App 等功能! GitHub:https://github.com/comdan66/livemaps/ 基本的 Google Maps JavaScript API 的應用這邊就不多介紹了, 這次的練習主要著重在 Firebase 的應用,藉由 Hosting 來取得 Https 的協定 然後在建立起專案,並且利用 Realtime Database 來實作即時性的功能。 Firebase 的 Hosting 可以將自己的 Domain 用 CNAME、A 記錄指向過來 使得專案擁有自己客製化的 Domain/Sub Domain 並且是 Https 的協定 而 Hosting 功能在 Firebase 的操作上並不會太困難 只要依照其所顯示的步驟驗證完網域所有權後即可完成。 Realtime Database 是項 Firebase 儲存資料的服務,他是以 JSON 的方式 用 key-value 方式儲存,用過 NoSQL 的朋友或許會比較適應這樣的 Database 因為儲存格式是 JSON 的關係 所以在一開始的設計就不能以關聯式資料庫的思維角度下去設計囉。 CRUD 的基本功能撰寫這邊也不做介紹,基本上官網都有範例以及說明囉 其中包含了 iOS、Android、JavaScript 的支援,所以更可以製作成 Mobile App 而下一階段我也將考量使用 iOS 來實作一次 LiveMaps。 官方資源也不僅於 Sample,在官方 GitHub 也可以看到多樣的 Library 其中常見的 firebaseui-web、GEO.. 等 服務都是由官方維護的,所以在家接功能上會更加方便。 以網頁版來說,登入系統可以由 firebaseui-web 來串接 在地圖上更可以用 geofire-js 來實作,geofire 就有豐富的經緯度範圍運算 可以快速的撈出範圍內的點,不過對於 Database 的 JSON 格式架構就要符合其規範 第一版的 LiveMaps 就是使用 geofire 實作,但是因為功能需求,所以暫時先捨棄 而 firebaseui 提供了各種不同的 OAuth 登入, 可以配合 Authentication 製作登入系統 不過在第二版製作時也暫時拿掉,主要是因為想加快登入時間問題 所以暫時只使用 Facebook 的 SDK 實作 OAuth 登入。 網頁的定位方式,是採用 navigator.geolocation 的 watchPosition 取得使用者瀏覽器裝置位置,因為 Firebase 提供了 Https 的服務 故在 Chrome 瀏覽器上就可以取得使用者位置 而且使用了 watchPosition 並且搭配使用 enableHighAccuracy 所以取的的位置會較為精準 但也可能會有誤差值,故使用上可能會有使用者發生位置不正確的狀況 待下一版本解決。 更多實作心得:https://livemaps.ioa.tw/about.html 更多作品:http://www.ioa.tw/ 以上心得歡迎分享~~ -- -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.51.221.44 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1476670339.A.9A0.html

10/17 10:14, , 1F
手機一直出現初始化不能用
10/17 10:14, 1F

10/17 10:21, , 2F
有趣
10/17 10:21, 2F

10/17 10:42, , 3F
我記得當初不用 firebase 因為收費太貴了, google
10/17 10:42, 3F

10/17 10:42, , 4F
收購後不知道有沒較便宜
10/17 10:42, 4F

10/17 11:48, , 5F
推一個
10/17 11:48, 5F

10/17 12:19, , 6F
10/17 12:19, 6F

10/17 14:46, , 7F
Firebase has reached its Peak Connections limit
10/17 14:46, 7F

10/17 16:02, , 8F
好多人線上幫忙壓測了 XD
10/17 16:02, 8F

10/17 16:16, , 9F
免費的只有100個連線數 想靠這服務做APP賺錢的勢必要付費
10/17 16:16, 9F

10/17 17:13, , 10F
用 Free MQTT server 就好
10/17 17:13, 10F

10/17 17:42, , 11F
so cool.
10/17 17:42, 11F

10/17 18:39, , 12F
好有趣喔!
10/17 18:39, 12F

10/17 20:06, , 13F
這id有點猛
10/17 20:06, 13F

10/17 20:29, , 14F
Fire base 付費還好吧 東西如果上線了爆量 光scale跟調校、l
10/17 20:29, 14F

10/17 20:29, , 15F
atency的成本跟時間 你有把握壓的比他低嗎
10/17 20:29, 15F

10/17 21:50, , 16F
10/17 21:50, 16F

10/17 21:52, , 17F
讚~~
10/17 21:52, 17F

10/17 21:54, , 18F
可以在上面把妹了
10/17 21:54, 18F

10/17 22:21, , 19F
徵到要去當兵的老婆
10/17 22:21, 19F

10/17 23:45, , 20F
這 ID !
10/17 23:45, 20F

10/18 00:32, , 21F
10/18 00:32, 21F

10/18 01:22, , 22F
推ID
10/18 01:22, 22F

10/18 01:40, , 23F
這個idea很棒!
10/18 01:40, 23F

10/18 01:52, , 24F
cool
10/18 01:52, 24F

10/18 04:14, , 25F
你現在有在工作嗎?覺得你是前端的人才耶
10/18 04:14, 25F

10/18 07:49, , 26F
這會紅
10/18 07:49, 26F

10/18 08:18, , 27F
Cool
10/18 08:18, 27F

10/18 12:18, , 28F
剛剛連線超過一分鐘以上還沒連上@@
10/18 12:18, 28F

10/18 12:26, , 29F
推XD
10/18 12:26, 29F

10/18 15:34, , 30F
幫測bug
10/18 15:34, 30F

10/18 16:12, , 31F
10/18 16:12, 31F

10/18 23:32, , 32F
10/18 23:32, 32F

10/19 11:00, , 33F
10/19 11:00, 33F

10/19 20:34, , 34F
推 感覺可以用在附近地區互相支援
10/19 20:34, 34F

10/20 07:03, , 35F
10/20 07:03, 35F

10/20 11:02, , 36F
推 好有趣
10/20 11:02, 36F

10/22 10:45, , 37F
推ID推firebase
10/22 10:45, 37F

11/03 12:05, , 38F
11/03 12:05, 38F
文章代碼(AID): #1O13E3cW (Soft_Job)